字符串结束符的疑惑???
请问一下如果我输入5个字符,那岂不是没地方存结束符了,如果硬要存下数组是不是己经溢出??如果小于5是不是自动加'\0'???// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
char a[5];
cout<<"请输入一组字符串.小于5"<<endl;
cin>>a;
while(strlen(a)>5)
{
cout<<"error"<<endl;
cin>>a;
}
cout<<a<<endl;
char *b=a;
while(*b!='\0')
{
cout<<*b<<endl;
b++;
system("pause");
}
return 0;
}
还问一下strlen是在输入给数组后判断的吧,输入时按下回车键的那一刻,数据己经存入数组,如果输多了,数组己经溢出,会不会带来错误??那strlen在后来判断还有什么用啊????!!!
最好给小弟详解下,谢谢!