c语言运算符计算时发现的一个问题。

#include <stdio.h>

int main()

{

    

    int x,y = 10;

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

    x=x*2 ;

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

    y*=2;

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

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

    return 0;

}

    在慕课网在线ide 输出结果是 

x=0 

y=20

    原版的代码是

#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;

}

    输出结果是

x=20

y=20 

发生了什么 导致这两种结果的差异 呢 ?

李永东
浏览 1366回答 2
2回答

溪林

我介意还是分开写,这样比较直观。第一个代码把 int x,y=10;改成int x=10;int y=10;

溪林

上面的代码,只给y赋值,而x却没有赋值,结果就那样咯!!!!
打开App,查看更多内容
随时随地看视频慕课网APP