解決scanf_s輸入%d%c%d格式錯誤的問題
例題:
定義變量a,b,c,輸入1+2,結(jié)果a=1,b=+,c=2
錯誤實(shí)例:
int a,c;
char b;
scanf_s("%d%c%d",&a,&b,&c);
乍一看,沒啥問題,但是一運(yùn)行輸入就會報(bào)錯。
解決方案:
1、使用scanf,上邊的代碼就沒問題
2、如果使用scanf_s,就要加上輸入長度,如下
scanf_s("%d%c%d",&a,&b,1,&c);
補(bǔ)充知識:scanf("%d%d",&x,&y);與scanf("%d,%d",&x,&y);的區(qū)別 c語言輸入注意
輸入的時(shí)候要用
scanf("%d%d",&x,&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",&a,&b); //若改成%d,%d 就會出錯,因?yàn)槿〉刂钒?的地址取了
fun(&a,&b);
printf("%d,%d",a,b);
}
以上這篇解決scanf_s輸入%d%c%d格式錯誤的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解析C++的線性表鏈?zhǔn)酱鎯υO(shè)計(jì)與相關(guān)的API實(shí)現(xiàn)
這篇文章主要介紹了解析C++中的線性表鏈?zhǔn)酱鎯υO(shè)計(jì)與相關(guān)的API實(shí)現(xiàn),文中的實(shí)例很好地體現(xiàn)了如何創(chuàng)建和遍歷鏈表等基本操作,需要的朋友可以參考下2016-03-03

