天天看點

VS2017使用scanf()從鍵盤讀取字元串

vs2017上無法使用scanf()函數,但是提供了scanf_s()函數,在使用scanf_s()讀取二維數組時遇到了以下問題

代碼:

int main()
{
	char a[10][5]; //定義一個二維數組
	scanf_s(“%s",a[1]); //輸入一個字元串到第二行
	printf(”%s“,a[1]);
	return 0;
}
           

上述代碼文法上并沒有什麼問題,但是執行時報錯。

解決方法

給scanf_s函數制定一個參數,告訴編譯器預留多大的空間來存儲字元串sizeof()或直接給定一個數字大小,夠用就可以。

代碼:

int main()
{
	char a[10][5]; //定義一個二維數組
	scanf_s(“%s",a[1],sizeof(a[0]); //輸入一個字元串到第二行
	printf(”%s“,a[1]);
	return 0;
}
           

運作結果:

VS2017使用scanf()從鍵盤讀取字元串

繼續閱讀