爲什麼我們需要將&
運算符放在scanf()
中用於將值存儲在整數數組中,但不將字符串存儲在char數組中?爲什麼scanf()在某些情況下需要&operator(address-of),而不是其他的?
int a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
但
char s[5]; scanf("%s",s);
我們需要在我們存儲的價值的地方的地址通過,因爲數組是一個指向第一個元素。所以在int/float數組的情況下,它基本上意味着(a+i)
。
但字符串是什麼情況?
http://c-faq.com/stdio/scanf1a.html – jamesdlin 2010-08-12 19:30:07