C语言小bug汇总

  这篇博客会不定期持续更新,主要目的是汇总一下我在用C语言编程时遇到的一些比较奇怪的bug,或者比较独特的注意事项,用于备忘录查询,加深自己对知识的理解。

这是标题0.0

  • 选择结构
    • switch语句

选择结构

switch语句

  1. switch语句里case和default没有顺序之分,只是一个符号,当比对正确后就会从该符号一直往下执行,遇break跳出,否则执行到最后。因此在写程序时,前往别忘了在每个case和default块里加上break语句,不然他就会执行其他原本不用执行的操作,导致发生一些奇怪的逻辑bug。
    #include "stdio.h"
    
    int main()
    {
    	int temp=0;
    	int Check_Flag=0;
    	
    	scanf("%d",&Check_Flag);
    	
    	switch(Check_Flag)
    	{
    		case 1:
    		{
    			temp=1;
    			break;
    		}
    		case 2:
    		{
    			temp=2;
    			break;
    		}
    		default:
    		{
    			temp=3;
    			break;
    		}
    	}
    	
    	printf("%d",temp);
    	
    	return 0;
    }
    
    如下图所示,当每一个case都有break语句时,输入1,输出1:
    C语言小bug汇总_第1张图片
    当把break语句注释掉后,再输入1,输出就变成3了:
    C语言小bug汇总_第2张图片

以上就是本文的全部内容了,欢迎各位中评论区留言互相讨论,也欢迎各位的批评指正O(∩_∩)O~

你可能感兴趣的:(C语言,c语言,bug)