问答详情
源自:3-5 赋值运算符

为什么这样不对

#include<stdio.h>

int main()

{

    int x = 10

    int y =10

    x=x*2;//使用简单赋值语句实现x乘以2。

    ?

    y*=2//使用复合赋值语句实现y乘以2。

    ?

    printf(”x=%d\n“,x);

    printf(”y=%d\n“,y);

    return 0;

}

而这样可以

#include <stdio.h>

int main()

{

    int x = 10;

    int y = 10;

    //使用简单赋值语句实现x乘以2。?

    x=x*2;

    //使用复合赋值语句实现y乘以2。?

    y*=2;

    printf("x=%d\n", x);

    printf("y=%d\n", y);

    return 0;

}


提问者:流年0似水 2015-07-29 09:56

个回答

  • Z丶小颖
    2015-09-05 08:42:04
    已采纳

    #include<stdio.h>
    int main()
    {
        int x = 10;    //这里少了分号
        int y =10;    //这里少了分号
        x=x*2;//使用简单赋值语句实现x乘以2。
        //这里的问号要去掉
        y*=2;    //这里少了分号
        //这里的问号要去掉
        printf("x=%d\n",x);  //分号和双引号必须用英语的双引号和分号
        printf("y=%d\n",y);  //分号和双引号必须用英语的双引号和分号
        return 0;           //这里的分号也是
    }	

       这样就对了

  • 寒江北去
    2015-07-29 10:49:55

    第一段代码里边那两个问号,和第二段代码里的问号一比较的话,你会发现第二段代码中的问号是被注释了的,像是这样 

     //使用简单赋值语句实现x乘以2。?

    这样一来,双/之后的部分被认为是注释,编译器会无视掉,毕竟注释是给人看的

    第1段代码里边,问号独立成行,和前边的注释是分别独立的两句话,编译器认为那一行就是有问题的,所以就没过

    P.S. 第一段代码如果调试通过输出结果了,但是提交之后未通过,可能是因为printf函数里引号里边有空格的问题,这个是因为校验的时候比较死板……

  • Perona
    2015-07-29 10:45:22

     int x = 10
     int y =10
     y*=2//使用复合赋值语句实现y乘以2。

    这3行缺分号

    printf(”x=%d\n“,x);
    printf(”y=%d\n“,y);
    return 0;

    这3行分号敲成了中文分号,引号也用成中文引号。

    还有要把代码中的?去掉

    修改后的代码

    #include<stdio.h>
    int main()
    {
        int x = 10;
        int y =10;
        x=x*2;//使用简单赋值语句实现x乘以2。
        
        y*=2;//使用复合赋值语句实现y乘以2。
       
        printf("x=%d\n",x);
        printf("y=%d\n",y);
        return 0;
    }