C语言打印ASCII码多出一个10

原问题:C语言打印ASCII码多出一个10
分类:编程开发 > 最后更新时间:【2017-07-27 10:14:23】
问题补充:

int main()

{

a:

char s;

scanf("%c",&s);

printf("ASCII码:%d\n",s);

goto a;

return 0;

}

打印的ASCII码第一行是正确的第二行多了一个10?

最佳答案

因为你有goto a

在第二次时scanf的%c时

s会收到一个回车

它的ASCII就是10


追问:
怎样做才能循环输出ASCII码,但不输出“回车”的ASCII码。
  • 追答:
    用以下程序#include <stdio.h>int main(){char c;while((c=getchar())!=EOF){if (c!="\n") printf("ASCII码:%d\n",c);}return 0;}当你输入ctrl+Z程序结束注意:在一般编程中,不用goto的.用循环完全可以代替它
    最佳答案由网友  whoami1978  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    20

    分享到:

    其他回答

    其它网友回答:
     

    其它网友回答:
    这个是回车键的ASCLL码,初级的C语言程序在这方面很容易出错,要用比较高级的函数才能解决。程序在读取时,读到了“1

    其它网友回答:

    其它网友回答:
    (这儿回车了)

    其它网友回答:
    再加上你的goto,它接收了两个字符,就会有两个ASCLL码

      推荐