一个c++的switch问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:02:59
int main()
{
char comand[10];
cin>>comand;
switch(comand[0])
{
case'a':
char p[3]="ab";
cout<<p<<endl;
break;
default:
cout<<"none1"<<endl;
break;
}
return 0;

}
编译汇报错,说是char p[3]="ab";的问题,这是怎么回事,能给解释一下吗?

一、变量定义应该在所有语句的最前面,应该在前排定义command的地方定义变量p,定义语句可以是:
char comand[10],p[3];

二、对字符传的赋值应该使用strcopy函数,报错的语句应该修改为:
strcopy(p,"ab");

楼上的说的不对,C 里一般可以随处定义,但是在case语句里不让定义.而且你的字符串赋值方式也是没错的,在C 里是可以的