解决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",&a,&b,1,&c);
c++string类型补充知识:scanf("%d%d",&x,&y);与scanf("%d,%d",&x,&y);的区别 c语⾔输⼊注意
输⼊的时候要⽤
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 就会出错,因为取地址把,的地址取了
fun(&a,&b);
printf("%d,%d",a,b);
}
以上这篇解决scanf_s输⼊%d%c%d格式错误的问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论