printf("%d,%d\n",strlen(a),sizeof(a));

#include <stdio.h>
#include <string.h>
main()
{ char a[10]="abcd";
printf("%d,%d\n",strlen(a),sizeof(a));
}
什么意思啊不懂,求解释

strlen(a)求的是数组a中字符的实际个数,即4(不包括结束字符'/0')。
sizeof(a)求的是分配给数组a的内存大小,即10。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-27
printf中 %d表示数字 \n表示换行,每一个%d %c %s都会在后面跟着一个参数,这里的参数就是strlen(a),sizeof(a),意思就是输出strlen(a),sizeof(a)换行
4,10
第2个回答  2012-01-27
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。即统计a字符串的长度。4
C语言中判断数据类型长度符。10本回答被网友采纳
第3个回答  2012-01-28
strlen:是计算字符串的长度。不包括字符串结束的‘\0’,abcd 4个字符,所以第一个数是4。
sizeof:是关键字,是运算符,计算变量占用内存的长度,所以输出的是10.
第4个回答  2012-01-27
#include <stdio.h>
#include <string.h>
main()
{ char a[10]="abcd";// 用abcd 填充字符数组 a
printf("%d,%d\n",strlen(a),sizeof(a));//输出字符串的长度,字符数组的大小
}