一个c语言基础小程序题

[复制链接]
查看11 | 回复2 | 2010-5-30 09:01:16 | 显示全部楼层 |阅读模式
#include "stdio.h"

main()

{char c;

c=getchar();

while(c!='?')

{putchar(c);

c=getchar();
}

}

如果从键盘输入abcde?fgh(回车)
运行结果为:
abcde
问题:1。
c!='?'这是什么意思?
2
我记得getchar这个是输入单字符的,它输入一堆字符怎么算啊
3
为什么fgh没了?

回复

使用道具 举报

千问 | 2010-5-30 09:01:16 | 显示全部楼层
①c!='?',当c不等于?时进入循环。结合while来看就是,当输入的字符不是?时就将其输出,然后继续判断输入的字符。②getchar()函数确实是接受单字符,但在循环里的getchar()就是连续接收单字符,然后一个一个字符输出的。③因为fgh在?后,while循环在输入?后就结束了循环,所以后面的字符就不会输出了,包括?在内也不会输出。
回复

使用道具 举报

千问 | 2010-5-30 09:01:16 | 显示全部楼层
2,3(一起回答),为什么fgh没了?如果我记得不错的话,这是因为getchar()只接受完整字空格前的那部分内容。1.符串c!='?'这是什么意思?是判断C字符串输入的是不是“?”不是则执行{}里的内容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行