C++中的字符数组逐个赋值时报错的解决方法
C++中定义一个字符数组的时候,如果初始化,则cout的时候不会出错,但是在逐个字符赋值的时候,很容易出错。
#include<iostream> #include<string> using namespace std; int main() { //char s[100] = "china"; char s[100]; s[0]='c'; s[1]='n'; s[2]='\0'; cout<<s<<endl; return 0; }
如果我们直接初始化:
如果我们逐个字符的赋值:
这是为什么呢?
原来是在逐个字符赋值的时候,一定要记住最后来个s[len-1]=‘\0‘; 这个是字符串的结束标志!!
改正的输出如下:
时间: 2024-12-22 00:22:46