萨拉张小提琴独奏:字符数组长度问题c++谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 05:47:09
#include <iostream.h>
void main()
{
int i,k;
char a[100];
cout<<"请输入字符:"<<endl;
cin>>a;
while(a[i])
{
i++;
k=i;
}
cout<<k<<endl;
}
我不想用strlen函数,三楼的又错误!!谢谢 希望你再帮我改下

经过网上一个兄弟的帮助才知道,错误很小原来只是因为 i 没初始化!!晕

你没有对i,k赋初值,均应该设成0
顺便提一下,char []是C中字符串表示法,若在C++,建议用string类型

改正如下:
#include <iostream.h>
#include<string.h>/*调用字符库*/
void main()
{
int i,k;
char a[100];
cout<<"请输入字符:"<<endl;
cin>>a;
while(a[i]!='\0') /*使语句识别字符串的结尾*/
{
i++;
k=i;
}
cout<<k<<endl;
}

#include <iostream.h>
#include <string.h>
int main()
{
char a[100];
cout<<"请输入字符:"<<endl;
cin>>a;
cout<<strlen(a)<<endl;
return 0;
}

i 或 K要赋值,其中一个有值就行,因为你用了K=I,建议在那个a[100]就改成a[i],这时一定要给i一个值。你这个循环条件,我觉得有错误。
我执行了一下这个程序,是有错误哦,什么内存指令不对哦,可我改不好,不好意思,
你定义的是个字符数组,这其实可以用字符串啊,那样更好。