C语言小儿科

来源:百度知道 编辑:UC知道 时间:2024/05/19 13:22:41
我是个菜鸟!
我问一问为什么下列程序为-52
#include"stdio.h"
main(){
int n,i;
for(i=0;i<10;i++){
n++;}
printf("%i",&n);
getch();
}

for(i=0;i<10;i++)
{
n++;
}
是一个循环语句,每循环一次,n自加1,一共循环十次!题目本身的意思也许是想通过n的值来确定循环次数的,但是n没有初始化,n自加前世随机数,所以运行之后得到的数也是随机数!
getch();是从键盘获得一个字符,这里是用来暂停用的

printf("%i",&n);

因为你多了一个&,变成取n的地址了
应该是printf("%i",n);

n都没有赋初值,而且getch()函数需要要头文件,另外你的输出函数有问题,应该是printf("%d",n);

#include"stdio.h"
#include"string.h"
main(){
int n,i;
scanf("%d",n);
for(i=0;i<10;i++){
n++;}
printf("%d",&n);
getchar();
}

n 没有初值,你赋一个值,比如说 n = 0;
你就知道了。

当然不是 printf("%i",&n);
&n是n的地址 不是n的值
这个原因错误的啊!!
就应该这么输入,
你错误的原因是因为n没有赋初始值!!!
int n=0;就OK啦
你是-52的缘故就是因为电脑随机分配的内存单元
所以显示的是一个随机的数,你换台电脑说不定是36呢!!!!!
还有不明白的吗?