这句代码有问题否?while((c = getchar()) != 'q')

Kshape 2006-04-15 11:42:52
void main()
{
//char c;
while((c = getchar()) != 'q')
printf("%c\n",c);
}

怎么回事呢?请大家测试、指教。

顺便问问:
#define PRINT(STR, VAR) \
cout << STR "=" << VAR << endl;

//如上的预定义重,“\”是什么作用啊?什么时候用?
...全文
238 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
femalelover 2006-04-16
  • 打赏
  • 举报
回复
嗯,不错不错.ASCII码应该没问题.才127呢.
triace_zhang 2006-04-16
  • 打赏
  • 举报
回复
getchar返回的是int,转化成char有数据截断问题。
===============================================

如果是普通字符型返回用char都没问题,但是向宽字符这些输入用
char就出问题了,楼主输入个汉字试试.
defyer007 2006-04-16
  • 打赏
  • 举报
回复
while(cin>>c&&c!='q'){...}
蒋晟 2006-04-16
  • 打赏
  • 举报
回复
getchar在没有输入的时候会返回EOF的。
吃狼的豆腐 2006-04-16
  • 打赏
  • 举报
回复
昏死什么问题都不说明啊;
——————————————————
如果是普通字符型返回用char都没问题,但是向宽字符这些输入用
char就出问题了,楼主输入个汉字试试.
————————————————————————-
ASCII中没有汉字吧。。。。。。。。。而且汉字不是占一个char*
蒋晟 2006-04-15
  • 打赏
  • 举报
回复
getchar返回的是int,转化成char有数据截断问题。
dx30611 2006-04-15
  • 打赏
  • 举报
回复
#include <stdio.h>
void main()
{
char c;
while((c = getchar()) != 'q')
{
printf("%c\n",c);
getchar() ;
}
}
chenhu_doc 2006-04-15
  • 打赏
  • 举报
回复
#include "stdio.h"
#include "stdlib.h"


void main()
{
char c;
while((c = getchar()) != 'q') // stdlib.h
printf("%c\n",c); //stdio.h
}
chenhu_doc 2006-04-15
  • 打赏
  • 举报
回复
#define PRINT(STR, VAR) \
cout << STR "=" << VAR << endl;
// \是说转到下面一行 =》
#define PRINT(STR, VAR) {cout << STR "=" << VAR << endl;}
chenhu_doc 2006-04-15
  • 打赏
  • 举报
回复
不知道第一个有什么问题
能说的确切一点不??

65,183

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧