C语言的问题

17.当输入为"quert?"时,下面程序的执行结果是 。(1级)
#include<stdio.h>
main()
{ char c;
c=getchar();
while((c=getchar())!='?') putchar(++c);
}
A)Quert B)vfsu C)quert? D)rvfsu?
18.当输入为"quert?"时,下面程序的执行结果是 。(1级)
#include <stdio.h>
main()
{while(putchar(getchar())!='?');}
A)quert B)Rvfsu C)quert? D)rvfsu?
19.当输入为"quert?"时,下面程序的执行结果是 。(2级)
#include<stdio.h>
main()
{ char c;
c=getchar();
while(c!='?')
{
putchar(c);
c=getchar();
}
}
A)quert B)Rvfsu C)quert? D)rvfsu?

求解··本人新手··学起来纠结··唉 在线等

第一题
B
第一句c=getchar();c用了你输入的那个q,没有进行任何操作,后面每次while循环c会赋值为你输入的那个字母,然后将这个字母的后一个字母(ASCII码后一位)输出,一直到输入为?为止

第二题
C
就是将你输入的一个字符串,到第一个?为止的字符输出

第三题
A
就是将你输入的一个字符串,到第一个?之前的字符输出

用vc6验证过这些答案的正确性了
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-19
1.B,++会导致移位,?不输出
2.A,?不输出
3.A,?不输出
第2个回答  2010-11-19
给你个建议,初学者最好的学习方法就是多动手!
还有,要学会调试,要想成为一个编程就必须要学会调试!什么时候你把键盘上F10和F11上面的字迹全部磨光了,你的变成就算是入门了!

所以,上面这段代码你最好是自己用手指敲一遍!记住,是自己敲,不是复制!祝:学业有成!
第3个回答  2010-11-19
我觉得还是自己编写一个程序测试一下比较好,因为给你解释也不是最好的。
第4个回答  2010-11-19
你那有C程序么?自己上机运行一下不就好了
相似回答