12,13题请问详解,c语言的谢谢
3个回答
展开全部
12. 没有正确选项。应该是'1''-''2'('-'表示空格),即ch1=='1',ch2=='-',ch3=='2'。因为%1c取1个宽度即1赋给ch1;%2c取2个宽度即'-'和'2',结果把'-'赋给ch2而把'2'丢弃;%3c取3个字符'2''-''3',结果把2赋给ch3,把'-''3'都丢弃;还有2个3还留在输入缓冲区里。而选项中的(B)、(D)中间那个符号是''而不是' ',所以说无正确选项。估计出题者的意图是选(D),但把选项印错了。
13. (A)。%3d是截取3位,%*3c是跳过3个字符。我想你已明白了。
13. (A)。%3d是截取3位,%*3c是跳过3个字符。我想你已明白了。
展开全部
第十二题:D; %1c表示读取1个字节字符'1',然后赋值给ch1,%2c表示读取两个字节字符,然后把读取的第一个字符 '空格' 赋值给ch2,然后%3c读取三个字符'2',' ', '3',然后把'2'赋值给ch3
第十三题:A;这里*3c表示照常读取3个字节字符,但是不存储到变量中去
第十三题:A;这里*3c表示照常读取3个字节字符,但是不存储到变量中去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*可以理解为跳过,先读入一个3位整数,再跳过3个字符,再读入一个3位整数,所以选A
追答
在scanf中若没有分隔符则软入时也不能加任何字符,空格类字符除外
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询