读书人

小菜一枚就教育解决思路

发布时间: 2012-05-20 16:03:12 作者: rapoo

小菜一枚,就教育

C/C++ code
#include "string.h"#include "stdio.h"int main(){     char a[1000];     for(i = 0;i < 1000;i++)     {         a[i] = -1-i;    }     printf("strlen(a) = %d\n",strlen(a));}
数组a里的值不是-1到-1000我能理解,但为什么strlen(a)不等于1000,而是等于255呢???是什么时候在数组里加上了一个'\0'的呢???求高人解释~~~~~~

[解决办法]
char字符最大到255,楼主算一下什么时候会加到0,肯定不是1000吧
[解决办法]
a[i] = -1-i
a[255] = -1-255=-256=0

既然你能理解数组里的值不是-1到-1000,那你还奇怪什么?
[解决办法]
C/C++ code
#include<stdio.h>#include<string.h>int main(){    char a[1000];    for(i = 0;i < 1000;i++)    {        a[i] = -1-i;    }    printf("strlen(a) = %d\n",strlen(a));} 

读书人网 >C语言

热点推荐