一个字符串使用sizeof取出的长度包括“\0”。
而strlen不包括“\0"
sizeof的度量发生在编译时刻, strlen是函数调用,度量发生在执行期间。
#include
#include
int main(int argc, char* argv[])
{
char *string="UTS";
int size = sizeof(string);
int i;
int len;
printf("size of string is %d\n", size);
for (i = 0; i < size; i++)
{
printf("string[%d]=%d\n", i, string[i]);
}
len = strlen(string);
printf("len of string is %d\n", len);
for (i = 0; i < len; i++)
{
printf("string[%d]=%d\n", i, string[i]);
}
return 0;
}
该程序执行的结果是:
size of string is 4
string[0]=85
string[1]=84
string[2]=83
string[3]=0
len of string is 3
string[0]=85
string[1]=84
string[2]=83
阅读(560) | 评论(0) | 转发(0) |