【阅读程序题】
用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,问在键盘上如何输入?
#include <stdio.h> int main() { int a,b; float x,y; scanf("a=%d b=%d",&a,&b); scanf("%f %f",&x,&y); printf("%d %d %f %e", a, b, x, y); return 0; }
【撞错】
运行下面的程序,解释出现的结果:
#include <stdio.h> int main() { int a,b; scanf("%2d%2d%d",&a,&b); printf("%d\n",a+b); return 0; }
解答提示
【阅读程序题】
由格式控制符,输入应该是
a=3 b=7
8.5 71.82
或者
a=3 b=7 8.5 71.82
或者,中间的空格可以用tab替代
【撞错】
编译时,会出现警告
执意要运行,产生运行错误。纠其原因,以运行时输入123456为例,a得12,b得34,56应该再有一个变量(需要指定其地址)接受,在程序中却未提供,将会写入一个随机的存储单位,而这是不允许的。
撞错时,可以试试另外一个极端的错误,输入语句改为scanf("%2d",&a,&b);观察