标题:语句作用
只看楼主
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
结帖率:86.96%
已结贴  问题点数:5 回复次数:3 
语句作用
#include<stdio.h>
int main(void)
{
    char ch;
    int count=0;

    while((ch=getchar())!='#')
    {
        count++;
        if(count%8==0)
            printf('\n');
       printf("%c,ascii is %d    ",ch,ch);
        while((ch=getchar())!='#')
            break;
    }
        return 0;
}


这个程序的作用是输出所输入的字符的ascii编码和其自身,红笔标注的地方是关键,没有了它,每次输出时都会输出空格和其ascii代码.请问这是神马问题
搜索更多相关主题的帖子: return 神马 count 
2011-08-16 19:22
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
得分:0 
因为当你输入一个字符(比如 a)后按回车,会在下一行显示“a,ascii is 97”,此时已换行了,相当于你又输入了一个换行符,所以会接着显示“, ascii is 10”。
至于你的红字部分加了好像结束不了循环....
2011-08-17 11:13
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
得分:5 
再完善一下上面所说的:加了红字部分后,当你输入完一个字符按的“回车”就在红字那里判断!=“#”,所以执行 break;整个循环也就结束,等待第二次输入。上面我说的不能结束循环是我说错了,楼主抱歉!
2011-08-17 11:19
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
得分:0 
程序代码:
 char ch;
    int count=0;

 ch=getchar();
    while(1)
    {
        count++;
        if(count%8==0)
            putchar(10);
            if(ch!=10)
       printf("%c,ascii is %d    ",ch,ch);
      ch=getchar();
      if(ch=='#')
      break;
    }
2011-08-17 11:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-347747-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.149160 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved