代码0:#includeintmain(void){intc=5;switch(c){case0...10:printf("0-->10\n");break;case11...20:printf("11-->20\n");break;default:printf("other\n");}return0;}输出结果:0-->10个或更多特征常见编译器支持,但标准中未提及。代码1#includeintmain(void){printf("%m\n");return0;}输出结果:成功等同于:printf("%s\n",stderr(errno));由于你的代码前面没有执行error设置errno,所以errno会是0,对应的描述信息是Success。代码2#includeintmain(void){inti=10;printf("%zu\n",sizeof(i++));printf("%zu\n",sizeof(++i));printf("%d\n",i);return0;}outputresult:4410sizeof实际作用于类型。sizeof本身的表达式不会被执行。代码3#include#includeintmain(void){while(1){fprintf(stdout,"公众号");fprintf(stderr,"编程珠");sleep(10);}return0;}输出结果:ProgrammingPearlProgrammingPearl为什么ProgrammingPearl没有输出公众号?原因是标准输入默认是行缓冲的,而标准错误是无缓冲的。这在《那些奇奇怪怪的缓冲问题》中已经解释过了。代码4#includeintmain(void){inta=10;switch(a){intb=20;case10:printf("%d\n",a+b);break;default:printf("%d\n",a+b);break;}return0;}输出结果:10switch中的intb=20不会执行,编译时会发现warning。代码4#includeintmain(void){printf("%c\n",4["hello公众号编程珠"]);return0;}输出结果:o等同于:char*str="hello公众号ProgrammingPearl";printf("%c\n",str[4]);代码5//来源:公众号ProgrammingPearl//https://www.yanbinghu.com#includeintmain(void){chararr[]={'h','e','l','l','o'};printf("%s\n",arr);//灾难!,可能会crashreturn0;}代码6没用,还会coredump超短代码,可以编译运行:main=0;代码7#includeintmain(void){intarr[]={5,4,3,2,1};for(inti=-1;itest(){longb=12345678987654321;returnb;}intmain(void){longa=test();printf("%ld\n",a);return0;}输出结果:1653732529代码9#includeintmain(void){floata=3;intb=2;printf("%d\n",a/2);return0;}输出结果:1199094392原因:浮点数在符合IEEE754标准的电脑商店