当前位置: 代码迷 >> C语言 >> 请指点指点???
  详细解决方案

请指点指点???

热度:126   发布时间:2005-07-27 23:40:00.0
请指点指点???
main()
{int score,mark;
printf("Enter score:");
scanf("%d",&score);
mark=-1;
if(score>=0&&score<=100)
    mark=score/10;
switch(mark)
{case 10:
  case  9:printf("Very good\n");break;
  case  8:printf("Good\n");break;
  case  7:
  case  6:printf("Passed\n");break;
  case  5:
  case  4:
  case  3:
  case  2:
  case  1:
  case  0:printf("failed\n");break;
  default:printf("Enter error!\n");
}
}
mark为什么要赋值,mark=-1是什么意思?
----------------解决方案--------------------------------------------------------
本来mark 可以不赋值,mark=-1跟mark=XXXX是一样的意思,就是给它一个值。

在你的程序中因为要用switch(mark),所以要给一个与mark=score/10;不同的值,才能正却执行程序。你的程序中只要mark 不是0到10之间的 整数就可以了;-1,-2,11,12。。。都行。

在程序中,每一个变量都要给它赋一个合适的初值,这是一个好的习惯。

罗嗦了一点,见谅!
----------------解决方案--------------------------------------------------------
  相关解决方案