鱼C论坛

 找回密码
 立即注册
查看: 1677|回复: 5

[已解决]带你学c带你飞课程里的问题

[复制链接]
发表于 2019-2-9 17:07:32 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

int main()
{
        int ch; 
        
        printf("请输入明文:");
        
        ch = getchar();
        
        while((ch = getchar()) != '\n')[code]#include <stdio.h>

int main()
{
        int ch;

        printf("请输入明文:");

        while ((ch = getchar()) != '\n')
        {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
        }

        putchar('\n');

        return 0;
}
        {
                if(ch >='a'&&ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }
               
                if(ch >='A'&&ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }
               
                putchar(ch);
         }
       
        putchar('\n');
       
        return 0;
} [/code]

S1E15中的问题。请问为什么第一个代码我输入abc后出现的是ef,少了一个d呢?
最佳答案
2019-2-11 17:33:20
cc84525145 发表于 2019-2-11 17:20
ch = getchar();  我的理解是从键盘输入一个字符型数据,把值赋给变量ch啊...那请问ch = getchar()该怎 ...

输入 'i love fishc'
ch = getchar();
ch = 'i';

后面剩下 ' love fishc' 直到 '\n' 结束,请问你有问题没有?,人家正常代码前面没有  ch = getchar();  ,你的代码前面非得加个  ch = getchar();  何意?
while ((ch = getchar()) != '\n')
        {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
        }

        putchar('\n');

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-9 17:08:22 | 显示全部楼层
#include <stdio.h>

int main()
{
        int ch; 
        
        printf("请输入明文:");
        
        ch = getchar();
        
        while((ch = getchar()) != '\n')
        {
                if(ch >='a'&&ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }
                
                if(ch >='A'&&ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }
                
                putchar(ch); 
         } 
        
        putchar('\n');
        
        return 0;
 } 
这是有问题的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-9 17:08:53 | 显示全部楼层
#include <stdio.h>

int main()
{
        int ch;

        printf("请输入明文:");

        while ((ch = getchar()) != '\n')
        {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
        }

        putchar('\n');

        return 0;
}
这个是没问题的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-9 17:13:59 | 显示全部楼层
        
        printf("请输入明文:");
        
        ch = getchar(); //无缘无故,你这里就取掉一个字符是什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-11 17:20:36 | 显示全部楼层
ba21 发表于 2019-2-9 17:13
printf("请输入明文:");
        
        ch = getchar(); //无缘无故,你这里就取 ...

ch = getchar();  我的理解是从键盘输入一个字符型数据,把值赋给变量ch啊...那请问ch = getchar()该怎样正确理解呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-11 17:33:20 | 显示全部楼层    本楼为最佳答案   
cc84525145 发表于 2019-2-11 17:20
ch = getchar();  我的理解是从键盘输入一个字符型数据,把值赋给变量ch啊...那请问ch = getchar()该怎 ...

输入 'i love fishc'
ch = getchar();
ch = 'i';

后面剩下 ' love fishc' 直到 '\n' 结束,请问你有问题没有?,人家正常代码前面没有  ch = getchar();  ,你的代码前面非得加个  ch = getchar();  何意?
while ((ch = getchar()) != '\n')
        {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
        }

        putchar('\n');

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-3 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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