❶ 為什麼C語言程序輸入不了內容,有什麼錯誤
二維字元串數組a[n][m],其中a[n]的是行指針,表示的一行數據。
所以在你圖中代碼char c[5][20];c[i]就表示一行字元串的首地址。
同理s數組也是。
所以當輸入c和s數組,用c[i],s[i]做參數,不要加&,直接寫scanf("%s%s",c[i],s[i])就可以了。
而a是不是字元數組,%f不能直接對應一行,而要對應其中一個元素,所以要寫&a[i][j]。
而你的循環條件也不對,你那樣寫,字元數組,浮點數組循環輸入次數是不一樣的,要分開循環。
另外scanf輸入默認是空格分隔,所以字元串和字元串之間要有空格,每個數字之間也要空格。像這樣輸入:
#include <stdio.h>
int main()
{
int i,j;
char c[5][20];
char s[5][20];
float a[11][6];
printf("please input: ");
for(i=0;i<5;i++)
scanf("%s%s",c[i],s[i]);
for(i=0;i<11;i++)
for(j=0;j<6;j++)
scanf("%f",&a[i][j]);
printf(" 輸出列印: ");
printf("c數組內容: ");
for(i=0;i<5;i++)
printf("%s ",c[i]);
printf("s數組內容: ");
for(i=0;i<5;i++)
printf("%s ",s[i]);
printf("a數組內容: ");
for(i=0;i<11;i++,printf(" "))
for(j=0;j<6;j++)
printf("%f",a[i][j]);
return 0;
}
❷ 為什麼C語言沒有輸入輸出語句呢
因為C語言是跨平台的,在不同的系統(比如WINDOWS和LINUX)上輸入、輸出的處理是不同的,所以C語言不提供輸入/輸出,只是調用具體平台操作系統的庫函數來實現輸入、輸出。