搞笑的 strlen与 sizeof

来源:互联网 发布:网络咨询医生招聘 编辑:程序博客网 时间:2024/05/29 10:03
#include<stdio.h>#include<string.h>void main(){char str[20]="0123456789";int a=strlen(str);int b=sizeof(str);printf("%d,%d\n",a,b);}

这个输出什么肯定非常简单:10,20

但是,如果把上面的20换成其他的数就搞笑了

第一阶段:

#include<stdio.h>#include<string.h>void main(){char str[10]="0123456789";int a=strlen(str);int b=sizeof(str);printf("%d,%d\n",a,b);}
上面的代码输出11,10

#include<stdio.h>#include<string.h>void main(){char str[9]="0123456789";int a=strlen(str);int b=sizeof(str);printf("%d,%d\n",a,b);}

上面的代码输出11,9

上面两段代码还可以接受,下面的就更好玩了

#include<stdio.h>#include<string.h>void main(){char str[5]="0123456789";int a=strlen(str);int b=sizeof(str);printf("%d,%d\n",a,b);}
上面输出7,5

#include<stdio.h>#include<string.h>void main(){char str[2]="0123456789";int a=strlen(str);int b=sizeof(str);printf("%d,%d\n",a,b);}

上面又输出几呢?5,2


哈哈。


0 0
原创粉丝点击