c语言中的输入输出
在c中输入输出是最基础的操作,但是,如果不加注意,也很容易犯错误。
本人由于一时疏忽,竟然在输入输出上耗费一个小时,请看下面一段代码:
#include<stdio.h>
main()
{
short int a,b;
float c,d;
long e,f;
unsigned int u,v;
char c1,c2;
scanf("%d,%d",&a,&b);
scanf("%f,%f",&c,&d);
scanf("%ld,%ld",&e,&f);
scanf("%o,%o",&u,&v);
scanf("%c,%c",&c1,&c2);
printf("The input is ended!\n");
printf("\n");
printf("a=%7d,b=%7d\n",a,b);
printf("c=%10.2f,d=%10.2f\n",c,d);
printf("e=%17ld,f=%17ld\n",e,f);
printf("u=%o,v=%o\n",u,v);
printf("c1=%c,c2=%c\n",c1,c2);
}
注意看代码中橘黄色部分。
在一开始输入的时候,我按照下列格式输入:
11,11
34.23,123.23
22,12
1234,45879
a,b
红色部分为输入错误,第一个错误很容易发现,输入8进制数的时候输入了8
第二个错误很讨厌,我在输入时将回车符赋给了变量c1,将回车符后面的空格赋值给了c2。
结果造成输出时的错误和乱码。
为了调试这段代码,花费了近一个小时,现在写在这里,作为警告。