超简单C语言程序纠错。。

{charanwser;printf("wouldyoulovetomarryme?\n");scanf("%s",&anwser);switch(anwser){cas... {char anwser;
printf("would you love to marry me?\n");
scanf("%s",&anwser);
switch(anwser)
{case 'yes':printf("i love you\n");break;
case 'no':printf("can we be friends\n");break;
default:printf("NO\n");
}
}
展开
 我来答
旷飞白002
2013-03-15 · TA获得超过613个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:248万
展开全部
C语言的switch语句只支持 整型或者字符,不支持字符串。而且字符串应该用双引号,字符才用单引号。

switch通常用于对几种有明确值的条件进行控制。它要求的条件值通常是整数或字符。与switch搭配的条件转移是case。使用case后面的标值,控制程序将跳到满足条件的case处一直往下运行,直到语句退出或遇到break。通常可以使用default把其他例外的情况包含进去。如果switch语句中的条件不成立,控制程序将跳到default处运行;如果省略default子句,则直接运行下一语句。switch是可以嵌套的。

参考资料: http://zh.wikipedia.org/wiki/C%E8%AA%9E%E8%A8%80

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BrotherGao
2013-03-15 · TA获得超过1536个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:401万
展开全部
楼主你好!
switch()只能是整数和字符,不能是浮点啊,字符串之类的,所以switch(anwser)是不正确的!下面是我写的,仅供你参考!ps:楼主你程序表达得好有意思喔!marry之类的!有意思!哈哈!
#include<stdio.h>
#include<string.h>
int main(){
char *anwser;
printf("would you love to marry me?\n");
scanf("%s",anwser);
if(strcmp(anwser,"yes")==0)printf("i love you!\n");
else if(strcmp(anwser,"no")==0)printf("can we be friends!\n");
else printf("NO!\n");
return 0;
}
希望我的回答对你有帮助!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2013-03-15 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2768万
展开全部
switch case 不能字符串

字符串比较 用strcmp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式