满族正蓝旗:为何就是算不出来

来源:百度文库 编辑:中科新闻网 时间:2024/05/07 00:46:33
C语言程序,在VC在编译

按书上写的..结果应该是55
奇怪,执行结果是-858993415

int main()
{
int a,b,c;
a=10;
for(b=1;b<a;b++)
c=b+c;
printf("%d",c);
getche();
return 0;
}

c没有初始化 ......
for(b=1;b<=a;b++) '这样才能得到55.
像你好那样的循环只循环了9次
另外,你的getche()函数是从哪来的?
我好像没有见过这个函数>

int main()
{
int a,b,c=0;
a=10;
for(b=1;b<=a;b++) '这句应该这样才能得到55.
c=b+c;
printf("%d",c);
getche();
return 0;
}
C要初始化才行.

c没有初始化 ......

同上,
你的变量:c没有初始化。
在C语言中,没有初始化的变量,系统将赋它一个随机
的数值。
所以你得到的c结果不一定就是55。

这一点特别提醒你:

在你学习到字符数组的时候,
定义了一个字符数组后
要养成良好的习惯,对字符数组初始化,防止出错:
如:

char string[20]; /*定义一个具有20个元素的字符号数组*/

memset(string,0x0,sizeof(string)); /*对字符数组进行初始化*/

这样你能避免很多的问题。

是啊,我没见过getcha函数。