C++ error C2440: “=”: 无法从“const char [8]”转换为“char [10]”

#include<iostream>usingnamespacestd;intmain(){inta;charn[10];cin>>a;switch(a){case1:n... #include <iostream>
using namespace std;

int main()
{
int a ;
char n[10];
cin >> a ;
switch(a)
{
case 1:n = "January";break;
case 2:n = "February";break;
case 3:n = "March";break;
case 4:n = "April";break;
case 5:n = "May";break;
case 6:n = "June";break;
case 7:n = "July";break;
case 8:n = "August";break;
case 9:n = "September";break;
case 10:n = "October";break;
case 11:n = "November";break;
case 12:n = "December";break;
}
cout << n;
}
这段代码应该怎么改?
展开
 我来答
porker2008
2011-05-11 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
#include <cstring>以后
把n = "September"; 这样的语句都改成strcpy(n,"September");这样的形式
匿名用户
2011-05-11
展开全部
用char定义的字符串变量不能直接赋值,可以初始化赋值或调用strcopy()函数赋值。或可以直接用string定义字符串变量,这样就可以直接给定义的字符串变量赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户92403
2011-05-11 · TA获得超过121个赞
知道答主
回答量:388
采纳率:0%
帮助的人:255万
展开全部
你好!!!

关于const 有以下内容:

const可以用来创建数组常量、指针常量、指向常量的指针等:
const char ch = 'a';
const int a[5] = ;
const int *p = a; //a是一个数组的首地址.p是指向常量的指针
int * const p = a; //a是一个数组的首地址.p是指针常量;
const int * const p = a;//a是一个数组的首地址。p是指向常量的指针常量
既然变量P是个指针变量,那么就应该用地址给它赋值,但是const int *const p = 10;怎么可以用常量10给其复制呢???

修改:int a=10;
const int *const p = &a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤松独海
2011-05-11 · TA获得超过1513个赞
知道大有可为答主
回答量:1220
采纳率:0%
帮助的人:491万
展开全部
char n[10];
改为char*n; 试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式