爲什麼這個工作?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