对于这个问题,我是经常出错,但每次出错后,系统会提示哪里错了。只是返回去改改。也不会想着把它弄明白,现在总结一下,以免再犯(这里总结的或许不全,以后在遇到其他的再来改吧)
1.
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string str="Happy Birthday LZU!";
cout<<str;
}
2.利用指针
字符串常量“Happy Birthday LZU!"出现在一个表达式中时,表达式使用的值就是这些字符所存储的地址,而不是这些字符本身。 所以,可以把字符串赋值给指向字符的指针str,而不能把字符串赋值给一个字符数组。(指针的值就是地址,而数组的值不是)
(1)
#include<iostream>
using namespace std;
int main()
{
char *str="Happy Birthday LZU!";
cout<<str;
}
(2)
#include<iostream>
using namespace std;
int main()
{
char *str;
str="Happy Birthday LZU!";
cout<<str;
}
3.利用数组
需要注意:字符数组可以在定义时整体赋值,不能再赋值语句中整体赋值。
#include<iostream>
using namespace std;
int main()
{
char str[20]="Happy Birthday LZU!";
cout<<str;
}
以上输出结果都为:
4.对数组中字符逐个赋值(这个方法就比较麻烦了)
#include<iostream>
using namespace std;
int main()
{
char str[20]={'H','a','p','p','y','B','i','r','t','h','d','a','y', 'L','Z','U','!'};
for(int i=0;i<20;i++)
{
cout<<str[i];
}
}