天天看點

見習問題小結

error C2143: 文法錯誤 : 缺少“;”(在“類型”的前面)

原因:*.c源檔案的變量聲明,必須在函數内容最前面

error C3861: “xx函數名”: 找不到辨別符

原因:調用函數的所在源檔案(*.c/cpp)與被調用函數的所在源檔案(*.cpp/c),源檔案類型不一緻

error C4996: 'scanf' :This function or variable may be unsafe.

原因:VS2013已經不能使用scanf函數,而是改用更加安全的scanf_s

要用回scanf函數,則要把項目的 SDL檢查 設為 否 (/sdl-)

scanf_s和scanf的差別在于輸入字元和字元串是要進行邊界檢查。

例如:

char ch, char str1[10],str2[11];
scanf_s("%c",&ch,1);
scanf_s("%s",str1,10);
scanf_s("%s%s",str1,10,str2,11);
           

VS中,如果scanf/printf書寫的類型與變量類型不一緻,會出現資料為0的情況

例如:

float tmp;
scanf("%d",&tmp);	//1
printf("%f",tmp);	//0.000000

scanf("%f",&tmp);	//1
printf("%d",tmp);	//0
           

做一個供所有*c/cpp共用的全局變量

1、在頭檔案*h先聲明為extern變量

2、在其中一個源檔案中聲明為全局變量