为什么这个工作?C指针问题,解引用崩溃
int *var;
while(scanf("%d", &var) && *var != 0)
printf("%d \n", var);
虽然这不?
int *var;
while(scanf("%d", &var) && var != 0)
printf("%d \n", var);
*(取消引用操作符)不会给你指针指向的值吗?那么为什么 * var!= 0会使程序崩溃,而var!= 0不会呢?
这工作:
int* var = malloc(sizeof(int));
while(scanf("%d", var) && *var != 0)
printf("%d \n", *var);
上做下的进修课程,很高兴我做到了。
我意识到scanf(& var)是用于常规变量,而scanf(var)用于指针。但完全忘记了内存,谢谢!
当您向程序中输入数据时,您如何知道您输入的是有效地址? – WhirlWind 2010-05-23 22:18:13
有效的地址?我输入一个整数,我不是吗? – jn1kk 2010-05-24 01:27:32