求救,一个简单的C++问题!!

来源:百度知道 编辑:UC知道 时间:2024/09/24 17:16:23
#include<iostream.h>
#include<string.h>
void main()
{
char *a="sdfhiahfsdgg";
cout<<sizeof(a);
}
我想输出“sdfhiahfsdgg”这个字符串的长度结果输出了4,怎么办?
char a【50】="sdfhiahfsdgg";//这样也不行,会输出50
怎样才能得到长度12啊????

输出的是指针的长度4

可以用strlen(a);(#include <string.h>)
也可以
char a[]="sdfhiahfsdgg";
cout<<sizeof(a)/sizeof(char)-1;

cout<<strlen(a);

用字符串string定义吧,char是字符变量

他们的那个可以.用strlen(a);
但也还有一个!那就是
char a[] = "fwelfjweklfjwekljfew";不要定a的长度。然后下面的。
cout << sizeof(a)/sizeof(char);

这个你一定要试试,试过之后才会懂。

因为你定义的a是个指针,指针是4个字节的
如果要计算字符串数组中间字符个数可以用strlen(a)