我已經閱讀了其他的文章,「從整數W/O投影使得指針」錯誤,但我很困惑,究竟是什麼它的意思是。是不是說如果我不投射(投射意思是說gets ((int) input
)),函數gets
默認使int變量input
成爲一個指針?警告:傳遞參數1的'gets'使得整數指針沒有投射[缺省情況下啓用]
int directions()
{
int input;
printf("Type '1', '2', etc to see a problem or type '(add an 'all' option to see a list of all the problems)\n");
gets(input);
switch (input) {
case 1: euler1();
case 2: euler2();
}
return input;
}
int main()
{
printf("Welcome to Project Euler's Problems in C!\n");
directions();
return 0;
}
這應該不會編譯...除非有int到char *的隱式轉換。 – Borgleader
不要使用'gets()',即使在演示代碼中也是如此。只使用'fgets()',即使它將手指戴到骨骼上,輸入兩個額外的參數。 –
即使手冊頁說**從不使用gets()。** –