解決scanf_s輸入%d%c%d格式錯誤的問題
阿新 • • 發佈:2020-12-10
例題:
定義變數a,b,c,輸入1+2,結果a=1,b=+,c=2
錯誤例項:
int a,c; char b; scanf_s("%d%c%d",&a,&b,&c);
乍一看,沒啥問題,但是一執行輸入就會報錯。
解決方案:
1、使用scanf,上邊的程式碼就沒問題
2、如果使用scanf_s,就要加上輸入長度,如下
scanf_s("%d%c%d",1,&c);
補充知識:scanf("%d%d",&x,&y);與scanf("%d,%d",&y);的區別 c語言輸入注意
輸入的時候要用
scanf("%d%d",&y);
附程式碼一段
#include <stdio.h> void fun(int * a,int * b) { int k; k=*a;*a=*b;*b=k;/*交換地址*/ } int main( ) { int a,b; scanf("%d%d",&b); //若改成%d,%d 就會出錯,因為取地址把,的地址取了 fun(&a,&b); printf("%d,a,b); }
以上這篇解決scanf_s輸入%d%c%d格式錯誤的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。