鱼C论坛

 找回密码
 立即注册
查看: 5053|回复: 5

这个哪里错了,我是菜鸟

[复制链接]
发表于 2013-7-10 10:13:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1 #include <stdio.h>
  2 int main()
  3 {int x,y;
  4  scanf("%d",&x);
  5  switch(x)
  6 { case(x<1):printf("y=x");break;
  7   case((x>=1) && (x<10)): y=2*x-1;break;
  8   case(x>=10):y=3*x-11;break;
  9  }
10  printf("%d",y);
11 }
12
13
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-10 11:16:26 | 显示全部楼层
case后面跟常量,编译器有提示case expression not constant,,比如1,2,3 没有这种运算  if语句可以。另外你是int main(),所以必须返回一个整型数值return 0;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-10 11:17:01 | 显示全部楼层
switch()语句中判断的不是case后面表达式的值是否为真
而是switch的参数和case后表达式的值是否相等。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-11 02:28:58 | 显示全部楼层
case 常量 : 这种形式的吧。 你后面是表达式, 会出错的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-11 12:21:52 | 显示全部楼层
LZ是不是把if语句跟switch语句搞混了。

switch语句是把括号内的值跟case值(必须为常量表达式)比较,相等的话则执行该case后面的语句直到遇到break或整个switch语句块的结束。
switch-case语句的详细用法见:http://see.xidian.edu.cn/cpp/biancheng/view/21.html

建议你把代码改成用if-else语句,不要为了用某个语法而去用Ta,要看情况而定。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-11 19:42:22 | 显示全部楼层
楼上正解{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-19 13:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表