有两个程序问题,帮帮忙吧!
第一个:有定义语句:intx,y;,若要通过scanf(“%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()A)1...
第一个:
有定义语句:int x,y;,若要通过scanf(“%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()
A)11 12<回车> B)11,12<回车>
C)11,<回车>
12<回车>
请帮忙解释一下B为什么是错的?A和C为什么对啊?
第二个:
有以下程序段
int j;float y;char name[50];
scanf("%2d%f%s",&j,name);
当执行上述程序段,从键盘输入55566 777abc后,y的值为()
A)55566.0 B)566.0 C)7777.0 D)566777.0
选B,为何呢? 展开
有定义语句:int x,y;,若要通过scanf(“%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()
A)11 12<回车> B)11,12<回车>
C)11,<回车>
12<回车>
请帮忙解释一下B为什么是错的?A和C为什么对啊?
第二个:
有以下程序段
int j;float y;char name[50];
scanf("%2d%f%s",&j,name);
当执行上述程序段,从键盘输入55566 777abc后,y的值为()
A)55566.0 B)566.0 C)7777.0 D)566777.0
选B,为何呢? 展开
2个回答
展开全部
第一个:只有 空格 和 回车 才能结束字符串 所以A:11空格12 回车 是两个
B:11,12是一个串 C:11,回车12 回车 也是两个
所以B错 AC对
第二个:这个题应该出错了
应该是:scanf("%2d%f%s",&j,&y,&name);
这样的话
%2d 是格式化输入 意思是 只能输进去2个int型字符
而float位浮点型 会为小数点后面不上一位
所以 j=55 y=566.0 name="777abc"
B:11,12是一个串 C:11,回车12 回车 也是两个
所以B错 AC对
第二个:这个题应该出错了
应该是:scanf("%2d%f%s",&j,&y,&name);
这样的话
%2d 是格式化输入 意思是 只能输进去2个int型字符
而float位浮点型 会为小数点后面不上一位
所以 j=55 y=566.0 name="777abc"
追问
第一个:输入时候不是按照"%d,%d"的格式输入吗?输入11,12可以吗?
追答
vc 测试: AC 错 B 对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询