代碼如下:
#include<stdio.h>
int main() {
char str[6];
scanf_s("%s", str);
int cnt = 0;
for (cnt = 0; cnt < 5; cnt++) {
if (str[cnt] >= 'A' && str[cnt] <= 'B') {
str[cnt] -= '32';
}
printf("%s", str[cnt]);
}
return 0;
}
運行到scanf_s那一行時報錯如下:
0x7AB1E63C (ucrtbased.dll)處(位于 Project1.exe 中)引發的例外: 0xC0000005: 寫入位置 0x00B00000 時發生訪問沖突。
其中保證輸入的是5個字符,如:appLe。
uj5u.com熱心網友回復:
scanf_s("%5s",str,6);https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l?view=msvc-160&viewFallbackFrom=vs-2019
uj5u.com熱心網友回復:
非常感謝!
uj5u.com熱心網友回復:
這句輸出因改為: printf("%c", str[cnt]);
uj5u.com熱心網友回復:
scanf_s("%s", str, 6);scanf_s和scanf的區別建議樓主搜一下,然后學習一下吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/224625.html
標籤:C語言
上一篇:如何將Matlab三維點云圖中兩個獨立分開的點云集團分離開來
下一篇:請教大牛們一個問題
