【发布时间】:2016-04-18 07:35:45
【问题描述】:
当我尝试编译此代码时,我的编译显示错误提示
" 错误:case 标签没有减少为整数常量"
请告诉我我在哪里做错了。
void main()
{
int i,a,b;
char c[10];
printf("\n Input length of sides in (a,b) format \n");
scanf("(%d,%d)",&a,&b);
printf("\n calculate -");
while(c[10]!="Area\0" || "Perimeter\0")
{
scanf("%s",c[10]);
}
switch(c[10])
{
case "Area":
area(a,b);
break;
case "Perimeter":
perimeter(a,b);
break;
}
}
【问题讨论】:
-
你必须使用strcmp来比较字符串。
-
先学习数组和指针。然后学习弦乐。在你尝试编写这个程序之前,你必须知道这些事情,你不能只是“猜测”如何编写它。首先,您必须意识到 C 没有像其他编程语言那样内置的、预制的字符串类。
-
这段代码表明对这么多基础知识缺乏理解,我投票结束这个问题“过于宽泛”。
标签: c string switch-statement