MENU

c中scanf函数注意点

March 15, 2020 • Read: 107 • 生活阅读设置

scanf(格式控制字符串, 地址表列);

scanf(”%f%f%f”,&a,&b,&c);   对
scanf("%f%f%f",a,b,c);   错 //缺少&
scanf("%d,%f\n",&a,&b);错 //不能有\n
scanf("%7.2f",&a);错  //只能写%f

//对于scanf("a=%f,b=%f,c=%f",&a,&b,&c);
       1 3 2↙                     错
       a=1,b=3,c=2↙        对(逗号)
       a=1 b=3 c=2↙        错

//对于scanf("a=%f  b=%f  c=%f",&a,&b,&c);
 a=1  b=3  c=2↙(两个空格)

//对于scanf(“a=%f: b=%f: c=%f",&a,&b,&c);
 a=1  b=3  c=2↙(冒号和空格)

输入字符时,两个字符之间不需要空格或其他分隔符;
输入数字时,两个数值之间需要输入空格以区分两个数
因此输入数字,最好这么写

scanf(“%d,%d,%d",&a,&b,&c);

非常重要:

scanf(“%d",&a);//输入一个数字时候没啥问题

scanf(“%c",&a);//就有问题了,会把回车也读进去,解决方法1.加个过滤掉回车的条件ASCII..2.自己加sacnf的分隔符

scanf(“%c,",&a)
。。。。于是你能发现,有时候自定义分割号,能够解决好多莫名其妙的错误!

Last Modified: March 17, 2020