#include"stdio.h" main() { int x=10,y=3; printf("%d\n",y=x/y); }

我是初学者,请问下为什么最后结果是3.原因要说说明白哦。谢谢,

xy都是整形,C/C++表达式的值的类型和参与运算的值的类型保持一致,而浮点数据转换为整形数据使用的方法是直接抛弃小数部分,所以3.3的小数部分被舍弃了,于是结果就是3
温馨提示:内容为网友见解,仅供参考
无其他回答

...main() { int x=10,y=3; printf("%d\\n",y=x\/y); }
xy都是整形,C\/C++表达式的值的类型和参与运算的值的类型保持一致,而浮点数据转换为整形数据使用的方法是直接抛弃小数部分,所以3.3的小数部分被舍弃了,于是结果就是3

#include<stdio.h> main() {int x=102,y=012; printf("%2d,%2d\\n...
因为y=012,012是八进制,而0x12是十六进制

#include<stdio.h> main() {int x=10; {int x=20; printf("%d,",x...
输出20,10.

#include<stdio.h> Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d...
x-- 是先调用x,然后再做减法 就是10 x 的值就是10 --y 是先做减法 再调用 就是9 y 的值就是10

#include <stdio.h> main() {int x;x=11\/3;int y=5;printf("%%d,%%%d...
输出%,所以%%d输出%d d,前两个百分号输出%后边的%d输出x的值3,整个输出是%3 x的值:x是整型数据11\/3仅输出结果的整数部分

#include<stdio.h> main() { int x,y; scanf("%d",&x); if(x<1) {...
你给的结果挺合理的啊 x=1时,执行{y=2*x-1;printf("%d\\n",y);}语句 x=10时执行{y=3*x-11;printf("%d\\n",y);}

...<stdio.h> main() { int x=010, y=10; printf("%d,%d\\n", ++x...
则 y=++x; 的意思是 先x=x+1; (此后x的值为3,y的值为0,)后 y=x; (此后x的值为3,y的值为3)(二)已知 x 的值为 2, y 的值为0 则 y=x++; 的意思是 先 y=x; (此后x的值为2,y的值为2)后 x=x+1; (此后x的值为3,y的值为2)...

#include<stdio.h> main () { int x=10,y=10,i; for (i=0;x>8;y=+...
应该是10 10 9 1吧 先判断x>8成立 执行循环 输出 x,y的值此时x,y都为初始值10 所以输出10 10,执行一次循环后 执行语句y=++i;此时,y变为1;而x执行过x--后变为9 所以输出9 1

#include<stdio.h> int x,y; x = 10; y = x++; printf("%d",y...
include<stdio.h>void main() { int x,y; x = 10; y = x++; printf("%d\\n",y); \/\/至此输出y的值10,注:x的值为11}

#include<stdio.h> main() {int x=3,y=
自增与自减运算符可在变量的左边(前缀)与右边(后缀),运算规则教材上有的,手机打字很麻烦

相似回答