首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小菜一枚,就教育解决思路

2012-05-20 
小菜一枚,就教育C/C++ code#include string.h#include stdio.hint main(){char a[1000]for(i 0i

小菜一枚,就教育

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));} 

热点排行