本文目錄一覽:
- 1、用vs2019編寫c語言程序,明顯語法錯誤為什麼不回報錯,沒有加return 0;
- 2、在VS2019中編寫C語言的鏈表程序出現了C4473等錯誤,怎麼修改?
- 3、在VS2019中C語言編程把數組名作為函數參數出現了C6385、C6201等錯誤,怎麼修改程序?
- 4、在VS2019中C語言編程打開txt文件寫入一句話,出現了C28183錯誤,怎麼解決?
- 5、最近在自學C語言,用的VS2019,為什麼照抄結果還報錯?請指教。。。。
- 6、在VS2019里C語言編程引用結構體變數時出現E0070等錯誤,如何修改不會出現報錯?
用vs2019編寫c語言程序,明顯語法錯誤為什麼不回報錯,沒有加return 0;
很簡單,因為microsoft公司認為,這根本就不是語法錯誤。程序的返回值對程序來實現而言並不是必要的,因此,vs2019會在編譯過程中幫助沒有寫返回值的用戶自動加上返回值,這樣可以提高代碼的簡潔度,更重要的是,在一個大型的程序中,代碼量往往是很大的,如果不小心忽略了返回值,那麼會很難把這個問題找出來,為了避免出現類似問題,vs2019在很多方面都進行了人性化的考量和完善。
在VS2019中編寫C語言的鏈表程序出現了C4473等錯誤,怎麼修改?
從代碼來看,最明顯的錯誤代碼如圖中scanf_s函數有兩個問題:
1.數組名本身是地址,不需要加取地址符;
2.scanf_s是新的安全輸入函數,它要求輸入字元串或者字元,後面必須指定最大可以容納字元個數。
所以字元串輸入需改為
scanf_s(“%s”, pNew-cName, sizeof(pNew-cName));
輸入整數,浮點數沒有這個要求。
在VS2019中C語言編程把數組名作為函數參數出現了C6385、C6201等錯誤,怎麼修改程序?
在VS2019中使用數組參數的函數,第2、3行「void Evaluate(int iArrayName[10]); 」和「void Evaluate(int iArrayName[10]); 」中的「[10]」應改為「[]」。
第5行中的「Evaluate(iArray[10]); 」「[10]」應去掉。
修改後的代碼如下
#includestdio.h
void Evaluate(int iArrayName[]); //聲明賦值函數
void Display(int iArrayName[]); //聲明顯示函數
int main(){int iArray[10] = {0}; //定義一個具有10個元素的整型數組
Evaluate(iArray); //調用函數進行賦值操作,將數組名作為參數Display(iArray[10]); //調用函數進行賦值操作,將數組名作為參數
Display(iArray);
return 0;
}
void Display(int iArrayName[10])
{
int i; //定義整型數組
for (i = 0; i 10; i++) //在循環語句中執行輸出操作
{
printf(“the member number is %d\n”, iArrayName[i]);}
}
void Evaluate(int iArrayName[10])
{
int i;for (i = 0; i 10; i++)
{iArrayName[i] = i;}
}
在VS2019中C語言編程打開txt文件寫入一句話,出現了C28183錯誤,怎麼解決?
這裡主要的問題是理解錯了fopen_s函數的返回值。
它的返回值不是文件指針,是錯誤代碼。這句if ((fp = fopen_s(fp,”E:\\exp01.txt”, “w”)) == NULL)改成
errno_t ecode;
if ((ecode = fopen_s(fp,”E:\\exp01.txt”, “w”)) == 0)
fopen_s函數原型:
errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );
函數參數
pFile:文件指針將接收到打開的文件指針指向的指針。
infilename:文件名。
inmode:允許的訪問類型。
—————————————————
返回值:
如果成功返回0。
失敗:
最近在自學C語言,用的VS2019,為什麼照抄結果還報錯?請指教。。。。
這是提示你scanf這個函數不安全,讓你換成scanf_s,你有兩種選擇,換函數或者是取消安全警告
在VS2019里C語言編程引用結構體變數時出現E0070等錯誤,如何修改不會出現報錯?
代碼此修改
int main(void)
{
struct Product product1; //定義結構體變數
printf(“please enter product’s name\n”); //信息提示
scanf_s(“%s”, product1.cName,10); //輸出結構體成員
printf(“please enter product’s shape\n”);
scanf_s(“%s”, product1.cShape,20);
printf(“please enter product’s color\n”);
scanf_s(“%s”, product1.cColor,10);
printf(“please enter product’s price\n”);
scanf_s(“%d”, product1.iPrice);
printf(“please enter product’s area\n”);
scanf_s(“%s”, product1.cArea,20);
printf(“Name:%s\n”, product1.cName); //將成員變數輸出
printf(“Shape:%s\n”, product1.cShape);
printf(“Color:%s\n”, product1.cColor);
printf(“Price:%d\n”, product1.iPrice);
printf(“Area:%s\n”, product1.cArea);
getchar();
return 0;
}
運行:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/154610.html