㈠ c語言程序中初始化的重要意義
C語言變數進行初始化時給變數分配內存空間是在一定范圍內的隨機分配的,所分配內存空間上可能含有數據沒有被清除掉,故而如果不進行賦值的話,不能確定變數的值是什麼,故而結果不正確,
㈡ c語言新手求指導
你的程序中,把變數p和q的初始化放在了for循環里了,每次都會把p和q清零。
應該把p=0;和q=0;這兩條變數初始化語句放在for循環之前,或者在變數定義時就完成初始化。
另外,把p、q、sum都改為浮點類型,輸出會更准確些。
修改後的程序為:
#include <stdio.h>
int main()
{
int i,j;
folat p=0,q=0,sum=0;
for(i=1;i<101;i++)
{
if((i%2)!=0)
p+=1/i;
else
q+=1/i;
}
sum=p-q;
printf("d%
",sum);
}
㈢ c語言,求和的sum沒有初始化,結果會怎樣
結果不可預測,有些編譯器在你聲明sum時就自動初始化為0,而有些不會自動初始化,其結果就是未知數了
㈣ C語言,我用程序跑出來sum=55,為什麼不對
sum沒有初始化,初始化為0的時候為55,你再跑兩遍程序,肯定會不一樣的!
㈤ C語言數組的初始化表示方法
不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。
我們可以這樣定義
#define N 5
int a[N]
這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];
對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。
所有當表示浮點型可以定義為例如float a[10]。 舉例如下:
(5)c語言中把sum初始化擴展閱讀
數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。
數組名後是由方括弧括起來的常量表達式,不能使用其他括弧
㈥ C語言,我用程序跑出來為什麼sum得到的為55
因為每循環一次,i就增加1,sum=1+2+3+4+5+6+7+8+9+10=55
一共執行10次,直到i大於10就循環解除
㈦ C語言怎麼求n階乘的和
1
思路
關鍵是寫出求階乘的函數
2
代碼
#include<stdio.h>
//求階乘
intfactorial(intn){
if(n==0||n==1)
return1;
else
returnn*factorial(n-1);
}
intmain(){
intn;
printf("求1!+2!+...+n!的結果
輸入n的值:");
scanf("%d",&n);
intsum=0;
for(inti=1;i<=n;i++){
sum+=factorial(i);
}
printf("結果為:%d
",sum);
getchar();
getchar();
return0;
}
3
運行效果
㈧ 這個c語言中的return sum什麼意思
就是進行累加的和啊,開始sum初始化為0,後面的for循環語句里每次都將i的值累加到sum里,等到輸出的時候,sum就等於
1+2+3+……+n
了,最後再返回這個sum,return的意思就是返回函數值
㈨ c語言求1到100的累加和的題目中為什麼sum初始值要設為0呢
如果不賦初值,那麼在有些編譯器裡面是不會自動給你生成一個零值。那麼在之後直接使用的時候就會導致錯誤。尤其是指針,如果說不賦初值就直接使用,指向的內容是不確定的,很可能導致程序錯誤,甚至是系統錯誤。所以在聲明變數的時候就應該賦予一個初始值。這樣也方便檢查錯誤.所以,這個sum應該賦初值0.
以下from:網頁鏈接
針對編譯環境是VC++6.0
(1)對與全局變數
如果沒有給變數賦初值,初值默認為0;
測試代碼如下:
#include<stdio.h>
inta;
intmain(void)
{
printf("%d ",a);
return0;
}
運行結果是:0
(2)對於局部變數如果沒有給變數賦初值,後果未知
測試代碼如下:
#include<stdio.h>
intmain(void)
{
inta;
printf("%d ",a);
return0;
}
輸出結果是:-858953740
㈩ 關於C程序中定義初始值sum=0和sum的區別
sum=0初始化時給sum賦初值0
sum初始化時不賦予初值,即sum變數的值為null(空值)