C语言随堂笔记-5

至30集。

 

在写判断语句 更适合写成:if( 3 == a ){} 因为如果不慎漏掉一个等号 编译器会报错 因为变量无法给常量赋值

image

 如果输入是1,那么会输出12 。因为case只决定了入口,没有决定出口。每个case后面都要加一个break。

switch()中必须要是整型表达式

case 后跟的必须是整型常量表达式,字符也可以。

image

 要输入97之后才会输出12

image

 多个case匹配一个输出的情况,大幅度减少了代码量 。

在 C 语言中,case后面不加花括号时,会执行从该case开始到下一个break(或Switch结束)之间的所有语句。

 

观察到一个现象:

  当用while((a=putchar()) != EOF){printf("%c",a)的时候,当输入a \n 的时候 输出的时候会同样输出 a \n 这是因为在stdin中,a和按下的\n一同被放入了输入缓冲区中,而putchar依次读入,就会把这两个一起打印出来啦。

 

image

 这个也是因为scanf读取了123456 缓冲区中还存在\n 被getchar读取进去了 也就不存在你输入YES or NO的机会了。

image

 abcdef被读取进了scanf 因为scanf的逻辑是读到空格就停 然后剩下的空格和多余的defghi需要用一个getchar()循环来吸收掉 最后单独再来一次getchar() 最后再等待用户输入。

posted @ 2025-12-26 16:55  Nowasiki  阅读(3)  评论(0)    收藏  举报