C语言经典面试题

来源:互联网 发布:网络卫星电视机顶盒 编辑:程序博客网 时间:2024/05/16 23:02
#include<stdio.h>
#include <string.h>
void main()
{
     int a[2000];
     char *p = (char *)a;
     int i ;
     for( i = 0; i < 2000; i++)
    a[i] = -i -1;
    printf("%d\n", strlen(p));

}

写出输出结果:

解析:

当i = FFFFFF00H 的时候,才有'\0'出现,(因为char型只占一个字节,当i=FFFFFF00H 的时候,

最后一个字节就是00H,也即'\0')就是最后一个字节,C风格字符串读到'\0'就终止了。

FFFFFF00H 是 -256,就是 i 的值为255时a[i] = FFFFFF00H ,因此最后结果是255*4=1020(a[0]~a[254]总共255个整型)。


2 0
原创粉丝点击