幽灵问题: 变量不会变 ?
main()
{
int a,b,c;
scanf ("%d%d",a,b);
c=a+b;
printf ("%d+%d=%d\n",a,b,c);
getch();
clrscr();
}
为什么不管怎样输入赋值运行结果都是:
861+2422=3283
也就是a=861,b=2422,c=3283
编译环境:turbo c 2.0
真是奇怪啊?
[解决办法]
语法不对,scanf ("%d%d",a,b)应该为scanf ("%d%d",&a,&b);
[解决办法]
因为内存地址碰上了``哈哈,你多申请几个就知道
[解决办法]
实际上a,b初始多少,scanf之后还是多少,因为对于一种编译器而言,它的初始值是固定的,因此每次结果都不变