1. 程式人生 > 程式設計 >解決scanf_s輸入%d%c%d格式錯誤的問題

解決scanf_s輸入%d%c%d格式錯誤的問題

例題:

定義變數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格式錯誤的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。