① c語言中char類型數組的輸出問題--輸出時為何需要&符
在C語言中數組的名字即數組的起始地址,也是數組第一個元素的地址。因此,假設有一個char類型的數組a表示成如下代碼:
char a[20];
那麼a表示字元數組的起始地址,它和&a[0]是一個意思。
使用printf()輸出字元數組a的內容:
printf("%s ", a);
就等同於printf("%s ", &a[0]);
輸出的時候用:
int i = 0;
for (i=0; i<10; i++) {
printf("a[%d]=%c ", i, a[i]);
}
防止緩沖區溢出可以用這樣的:
fgets(a, sizeof(a), stdin);
a[strlen(a) - 1] = '