【求助】这道C语言的选择题是什么意思呀?怎么分析?

设有变量声明"charc;",执行"for(;c=(getchar()!='\n');)printf("%c",c);"时,从键盘上输入"ABCDEFG↙"之后,输出的结... 设有变量声明"char c;",执行"for(;c=(getchar()!='\n');)printf("%c",c);"时,从键盘上输入"ABCDEFG↙"之后,输出的结果是_______。
A.ABCDEFG B.AABBCCDDEEFFGG C.非字母数字字符 D.语句不能执行
那条"for(;c=(getchar()!='\n');)printf("%c",c);"是什么意思呀?我根本看不懂,求教一下,求详细点的解释。
展开
 我来答
shine1991
科技发烧友

2011-10-10 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
C
很简单,注意一下c=(getchar()!='\n')
注意括号的位置
c= (getchar()!='\n')

也就是说变量c的值肯定是表达式getchar()!='\n',这是一个什么表达式?很明显是关系表达式,那我们知道关系表达式的值只可能是0或1,所以c的值就只可能是0或1,查看一下ASCII码表就知道ASCII码为0或1的肯定不会是字母字符吧,所以很明显AB肯定不对的,应该是C
大致应该输出7个☺,这样的符号

另外,想要输出A的那种情况,应该是语句(c=getchar()) !='\n' ,注意括号位置
墨茹骏3
2011-10-10 · 超过11用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:28.2万
展开全部
for是循环语句,意思就是如果你输入一个值给C,如果你没按回车键,便是一直给C赋值,也就是说若你输入ABCD然后回车,那么c的值就是ABCD;如果你输入A然后回车,C的值就是A!
这是赋值字符串的一个方法!谢谢,希望你能明白!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在秋浦河用功读书的梧桐
2011-10-10
知道答主
回答量:1
采纳率:0%
帮助的人:1688
展开全部
C
for(;c=(getchar()!='\n');)printf("%c",c);
就是
for(;c=(getchar()!='\n');)
{
printf("%c",c);
}

printf("%c",c);
当字符型的c以%c(即字符格式)输出时,那么输出的就是以c的值为ascii码的字符,
For循环里的getchar和输入的ABCDEF就是将c逐个赋值为A,B……F。
到F后面的回车的时候跳出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弹指间幸福5
2011-10-10 · 超过30用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:68.7万
展开全部
这是for循环语句,意思直到输入一个换行符(\n)结束。答案是A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦觉杀
2011-10-10
知道答主
回答量:36
采纳率:0%
帮助的人:13.8万
展开全部
d , 那是代表语句混乱,重新输入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式