鱼C论坛

 找回密码
 立即注册
查看: 2414|回复: 17

大家来找茬。我实在是找不出这段程序的错误了。求帮助

[复制链接]
发表于 2011-10-25 12:50:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zjxy2545 于 2011-10-25 14:44 编辑

#include <stdio.h>
                                                                                                   
void main()

{
    int score;
        scanf("%d\n",score);         《《这句有2个错误,一个是%d后面不能加\n。加了就打印不出下面的内容,二个是score变量地址前没加&》》                                             
        if( score < 60)
        {
                printf("the score is E\n");
        }
        else if( (score > 60 || score == 60)&& score < 70 )
        {
                printf("the score is D\n");
        }
        else if( (score > 70 || score ==70)&& score < 80)
        {
                printf("the score is C\n");
        }
        else if(( score > 80 || score == 80)&& score < 90 )
        {
                printf("the score is B\n");
        }
        else if (score > 90 || score == 90)            {
                printf("the score is A\n");
        }
}


提示错误是:C:\VC6.0\MSDev98\MyProjects\max5\max5.c(25) : error C2143: syntax error : missing ';' before '{' 执行 cl.exe 时出错.   

大家那双亮闪闪的眼睛可以看出来吗?


已解,非常感谢大家,谢谢。。小生受教了。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 12:56:02 | 显示全部楼层
scanf("%d\n",score);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 12:56:33 | 显示全部楼层
  1. else(score > 90 || score == 90)
  2.         {
  3.                 printf("the score is A\n");
  4.         }
复制代码
-------------------------
  1. else if(score > 90 || score == 90)
  2.         {
  3.                 printf("the score is A\n");
  4.         }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 12:57:34 | 显示全部楼层
scanf("%d\n",score);

scanf("%d\n",&score);


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 12:57:51 | 显示全部楼层
LSV5.{:1_1:}{:1_1:}{:1_1:}{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 13:37:46 | 显示全部楼层
scanf("%d\n",score);score前面加个&; else(score > 90 || score == 90)
else后加个if
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-25 13:53:31 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-25 13:59:06 | 显示全部楼层
ㄨ珊瑚岛Γ 发表于 2011-10-25 12:57
scanf("%d\n",score);

scanf("%d\n",&score);

还是错误哦。。。他错误提示是C:\VC6.0\MSDev98\MyProjects\max5\max5.c(25) : error C2143: syntax error : missing ';' before '{' 执行 cl.exe 时出错.

是分号 ; 和  大括号 { 出错。。但是我就是检查不出错在哪。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-25 14:01:17 | 显示全部楼层
zyp2011_mit 发表于 2011-10-25 13:37
scanf("%d\n",score);score前面加个&; else(score > 90 || score == 90)
else后加个if

还是错误哦。。。他错误提示是C:\VC6.0\MSDev98\MyProjects\max5\max5.c(25) : error C2143: syntax error : missing ';' before '{' 执行 cl.exe 时出错.

是分号 ; 和  大括号 { 出错。。但是我就是检查不出错在哪。。

最后那个else是分支到最后那个了,如果再加IF 那就要继续往下分支。。直到else那句结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-25 14:05:00 | 显示全部楼层
zjxy2545 发表于 2011-10-25 14:01
还是错误哦。。。他错误提示是C:\VC6.0\MSDev98\MyProjects\max5\max5.c(25) : error C2143: syntax erro ...

汗, 是我理解错误。还是书本上解释有问题?? 果然如你所说,加个if就行了。。 谢谢你了、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-25 14:07:10 | 显示全部楼层
rover12421 发表于 2011-10-25 12:56
-------------------------

正确了,后面那个语句要加个if 。。 谢谢你了。。但是为什么鱼老师在编译的时候后面没有IF也可通过??还有书本上解释最后一种情况可以不加if
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 16:05:51 | 显示全部楼层
我的理解这是一种习惯上的写法,最后的那一个else后若不加if,则要在括号后面加个分号~
即: else (score > 90 || score == 90);
{
…………

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 16:50:14 | 显示全部楼层
要不就不加else   要不后面就加if  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 21:52:06 | 显示全部楼层
zyp2011_mit 发表于 2011-10-25 16:05
我的理解这是一种习惯上的写法,最后的那一个else后若不加if,则要在括号后面加个分号~
即: else (score  ...
  1. else (score > 90 || score == 90);
  2. {
  3. …………

  4. }
复制代码
如果后面加一个分号,我帮你重新调整下代码风格
  1. else
  2. {
  3.        (score > 90 || score == 90);
  4. }
  5. {
  6. …………

  7. }
复制代码
还是你要的意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-26 07:40:37 | 显示全部楼层
不是,你仔细看看,多了一对大括号~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-26 08:49:45 | 显示全部楼层
学习下 嘿嘿  :lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-26 10:13:54 | 显示全部楼层
zyp2011_mit 发表于 2011-10-26 07:40
不是,你仔细看看,多了一对大括号~

难道你认为
  1. else
  2. {
  3.        (score > 90 || score == 90);
  4. }
  5. {
  6. …………

  7. }
复制代码
  1. else
  2.        (score > 90 || score == 90);
  3. {
  4. …………

  5. }
复制代码
不是一个意思吗?
我多加一对{}是为了突出重点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-26 13:36:09 | 显示全部楼层
呵呵呵,你觉得呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-29 05:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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