[問題] 兩個C的問題請教 scanf() & Macro
1
int main ()
{
char str [80];
int i;
printf ("Enter your family name: ");
scanf ("%s",str);
printf ("Enter your age: ");
scanf ("%d",&i);
為什麼讀取的資料是char的時候 寫成str 而非 &str
為什麼讀取的資料是int的時候 就要 &i
不論讀取char 或是 int 應該都從記憶體的地址去取值才對
既然如此 應該兩個都需要&才對吧?
2
#define square(x) x * x
main() {
int z = 3;
printf("%d\n", square(z + 1));
}
為什麼印出來的結果是 7 而不是 16?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 69.205.68.125
推
02/12 17:25, , 1F
02/12 17:25, 1F
推
02/12 18:02, , 2F
02/12 18:02, 2F
→
02/12 18:02, , 3F
02/12 18:02, 3F
→
02/12 18:04, , 4F
02/12 18:04, 4F
→
02/12 18:06, , 5F
02/12 18:06, 5F
→
02/12 18:07, , 6F
02/12 18:07, 6F
→
02/12 18:07, , 7F
02/12 18:07, 7F
→
02/13 06:24, , 8F
02/13 06:24, 8F