
一个简单的C++程序,求解疑惑.
#include<iostream>usingnamespacestd;intmain(){char*s="AAA";cout<<s<<endl;s[0]='B';cou...
#include <iostream>
using namespace std;
int main()
{
char *s="AAA";
cout<<s<<endl;
s[0]='B';
cout<<s<<endl;
return 0;
}
为什么后边那个输出出现问题 展开
using namespace std;
int main()
{
char *s="AAA";
cout<<s<<endl;
s[0]='B';
cout<<s<<endl;
return 0;
}
为什么后边那个输出出现问题 展开
5个回答
展开全部
char *s="AAA"; //"AAA"的类型是const char *,是指针常值,"AAA"这个对象不能修改。
cout<<s<<endl;
s[0]='B'; //试图修改"AAA"这个数指针常值,程序执行时会报错。
cout<<s<<endl;
s[0]='B'; //试图修改"AAA"这个数指针常值,程序执行时会报错。
2011-07-14
展开全部
本机上运行没问题啊。
追问
不能运行啊,可以编译.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把char *s="AAA";换成 char s[]= "AAA";
因为char *s="AAA"; 往往会把 “AAA”放于rom,是不可写的。
就是说 char *s = "AAA";等价于const char *s= "AAA";
回去好好看看c语言。
因为char *s="AAA"; 往往会把 “AAA”放于rom,是不可写的。
就是说 char *s = "AAA";等价于const char *s= "AAA";
回去好好看看c语言。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *s="AAA"; "AAA"的类型是const char *,是指针常值,"AAA"这个对象不能修改。
char s[]= "AAA"; 是字符串数组,可以这样s[0]='B';赋值。
char s[]= "AAA"; 是字符串数组,可以这样s[0]='B';赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“AAA”是常量
C99标准规定
常量不能被赋值
C99标准规定
常量不能被赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询