鱼C论坛

 找回密码
 立即注册
查看: 2196|回复: 7

c语言 显示字符与字符对应的数字 特殊字符

[复制链接]
发表于 2019-10-19 11:33:12 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
if (ch ==10)
{
   printf("\n");
   printf("\\n");
  printf ("%d", ch)
}

结果显示为
换行 \n 10 10
我的问题是为什么会显示两个10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-19 11:34:04 From FishC Mobile | 显示全部楼层
希望知道文题大神解答一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-19 11:38:53 | 显示全部楼层
把完整的代码弄上来
要是对的我觉得应该会打印

\
10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-19 12:04:25 | 显示全部楼层
本帖最后由 caihuawuhen 于 2019-10-19 19:39 编辑

完整代码

#include<stdio.h>

int main (void)
{
     int ch;
   
     while((ch = getchar()) != EOF )
     {
          if (ch ==10)
          {
               printf("\n"); //执行换行
               printf("\\n"); //打印 \n
               printf("%d", ch); //打印对应的ascii码值
          }
        else
        {
             printf(" %c", ch);
             printf(" %d", ch);
        }
     }
      return 0;
}



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-19 14:19:33 | 显示全部楼层
本帖最后由 jackz007 于 2019-10-19 14:22 编辑


      你的代码能编译过去吗?
    int char ;
      不可以用保留字当变量名,你对变量 ch 的声明在哪里?

      我想,得改成这样吧?
#include<stdio.h>

int main (void)
{
        char ch                             ;
        while((ch = getchar()) != EOF ) {
                if (ch == 10) printf("\\n") ;
                else printf("%c" , ch)      ;
                printf(" %d\n", ch)         ;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-19 19:27:39 From FishC Mobile | 显示全部楼层
打错了 是 int ch关键是重复打印了 printf(" %d", ch) 也就是出现了两个10 即
\n 10 10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-19 19:28:15 From FishC Mobile | 显示全部楼层
我的本意是只打印 \n 10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 03:09:35 | 显示全部楼层
你要达到的目标通过代码看不出来,也不好帮你改。这里主要要说明两个问题:
1. getchar()
函数描述:int getchar(void) 从标准输入 stdin 获取一个字符(一个无符号字符)。
返回值:该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。
再次强调,获取“一个无符号字符”,再次强调“一个”“无符号”,返回int型

2. 键盘输入:
运行程序,敲下按键1和按键0,敲下回车,请问输入了几个字符?????
答案是3个,分别是‘1’,‘0’,‘回车符’,getchar()会分别处理这三个字符。
十进制与ASCII码对应关系:1-49,0-48,换行键-10
程序丝毫不差的执行命令,每个输出的10都有可能是回车键
.
.
所以
.
.
.
你看下你的回车键是不是坏了???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 15:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表