lyz2210367
lyz2210367
2015-05-20 12:51
采纳率: 100%
浏览 1.7k
已采纳

新手求助C语言,求大神解答

#include
#include
#include
#include
int main()
{
const int target;
int min,max,count,guess;
char c='Y';
srand(time(NULL));
while(1){
min=1;
max=100;
count=0;
target=rand()%max+1;
while(1){
guess=0;
printf("输入一个数字 %d %d\n",min,max);
fflush(stdin);
scanf("%d",&guess);
++count;
if(guessmax){
printf("the input is out of %d-%d\n",min,max);
continue;}
else{
if(target==guess){
printf("恭喜你!\nyou have guessed %d times in total.\n",count);
break;}
else if(target>guess){
min=guess;
printf("猜测的数字大于 %d\n",guess);}
else{
max=guess;
printf("猜测的数字小于 %d\n",guess);}}}
printf("是否继续?(Y-yes,N-no)\n");
fflush(stdin);
scanf("%c",&c);
if(toupper(c)!='Y')
break;}
return 0;
}

提示15行 左值指定 const 对象
是哪里错了,要怎么改

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • danielinbiti
    danielinbiti 2015-05-20 13:01
    已采纳
     int main()
    {
    int target; //const不能修改,去掉
    int min,max,count,guess;
    char c='Y';
    srand(time(NULL));
    while(1){
    min=1;
    max=100;
    count=0;
    target=rand()%max+1; //const
    while(1){
    guess=0;
    printf("输入一个数字 %d %d\n",min,max);
    fflush(stdin);
    scanf("%d",&guess);
    ++count;
    if(guess>max || guess<min){//这里需要改
    printf("the input is out of %d-%d\n",min,max);
    continue;}
    else{
    if(target==guess){
    printf("恭喜你!\nyou have guessed %d times in total.\n",count);
    break;}
    else if(target>guess){
    min=guess;
    printf("猜测的数字大于 %d\n",guess);}
    else{
    max=guess;
    printf("猜测的数字小于 %d\n",guess);}}}
    printf("是否继续?(Y-yes,N-no)\n");
    fflush(stdin);
    scanf("%c",&c);
    if(toupper(c)!='Y')
    break;}
    return 0;
    }
    
    点赞 评论
  • bdmh
    bdmh 2015-05-20 12:59

    target是常量,不能被修改

    点赞 评论
  • gamefinity
    知常曰明 2015-05-20 12:59
    • 第15行是target=rand()%max+1;
    • 在第7行,你定义了const int target;
    • 所以就报这个错了
    • 如果target的确要被赋值的话,把第7行的const拿掉
    点赞 评论
  • cuiwei1026522829
    另一花生 2015-05-20 13:02

    报的什么错误,感觉const是恒定,后面又赋值了,这样可以么??我是围观者 - -

    点赞 评论
  • qq_28357733
    qq_28357733 2015-05-20 13:03

    target是常量,数值不变

    点赞 评论
  • sbt0198
    白鼠闹东京 2015-05-20 13:10

    const int target这种好像在c++的类中是可以不直接初始化,其他的必须声明的时候就直接初始化

    点赞 评论
  • Ptp1588v2
    Ptp1588v2 2015-05-20 13:52

    const int target,说明target是常量,不能修改

    点赞 评论
  • xieyi2015
    xieyi2015 2015-05-20 22:56

    const类型的变量的值是不能被修改的

    点赞 评论
  • daihuan509
    daihuan509 2015-05-21 01:53

    const int target; const定义的不能被修改,去掉const就好了

    点赞 评论

相关推荐