关于C语言的字符串相关的循环问题

img


请问这个是怎么得出来的啊?我看不懂这段代码,麻烦大家本帮我看看求详细解答谢谢大家。

while循环是运行到‘\n’(回车)为止,
第一次输入的是4,运行

default:putchar(c+1);break;
```输出5
第二次输入的是2,运行
```c
case 2:putchar(c+3);break;
```输出5
第三次输入的是0,运行
```c
case 0:
case 1:putchar(c+2);
case 2:putchar(c+3);break;输出23

第四次输入回车,循环结束。

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7537046
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言如何把两个二维数组中的重复行去掉?欢迎大家推荐优化方案。
  • 除此之外, 这篇博客: c语言实现大数运算加法中的 老规矩我们先上代码,等等上代码之前我们先解决一些大家的疑惑。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • A   我们倒置的原因,大家回想一下在小学的时候学习列竖式的时候我们是从个位开始算起,其一原因就是因为从个位开始便于我们的进位。其二大家想一种情况像99+1这种情况下结果是100,如果我们才取正序的方法来计算的时候就会出现a[0]=0,a[1]=0,那么通过进位得到的1,就无法在a[0]前面插入1,那么下一步我们就需要重新分配一段连续的内存空间来计录结果,这样做不仅消耗运行时间有会使代码冗长。

    在这里跟大家说一下实现高精度计算的方法不止电脑模拟列竖式一种方法,

  • 您还可以看一下 李老师老师的C语言版数据结构入门课程中的 数据结构入门简介小节, 巩固相关知识点