C语言........

[复制链接]
查看11 | 回复3 | 2020-1-13 12:29:29 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2020-1-13 12:29:29 | 显示全部楼层
main( ) { int x,y;double a;float b; a=6.34;b=2.1; a=a+b; //首先把副值a+b 6.34+2.1 a等于8.44 y=a-b; //然后把y副值a-b 8.44-2.1y等于6.34 但是y是整数类型的 所以取整数部分 就是6x=(int)(a)%(int)(b); // 首先把a 强制转换为整数类型8然后把b强制转换为整数类型2x是a除b的余数 也就是0printf(“x=%d,y=%d”,x,y); //最后输出x是0 ,y是6}
回复

使用道具 举报

千问 | 2020-1-13 12:29:29 | 显示全部楼层
main( ) { int x,y;double a;float b; /* 这数据声明就不用说了吧 */a=6.34;b=2.1;
/* 赋值 */a=a+b;
/* a=6.34+2.1=8.44 注意,这时a的值已经变了*/y=a-b;
/* a-b=8.44-2.1=6.34 但是,y是整型数据,所以a-b得到的值将会自动进行数据转换,会把小数点后面的部分去掉,那么这时y=6。 */x=(int)(a)%(int)(b);
/* 这个语句,在求模之前将会先强制进行数据转换。表达式(int)(a)=6,表达式(int)(b)=2,然后再进行求模运算:x=6%2 这里6刚好被2整除,所以x=6%2=0 */printf(“x=%d,y=%d”,x,y); /* 把数据打印到屏幕上,"x=%d,y=%d"是输出格式,"%d"的意思是以带符号十进制形式输出,结果就是:x=0,y=6 */}
回复

使用道具 举报

千问 | 2020-1-13 12:29:29 | 显示全部楼层
a=8.44y=6(8.44-2.1)取整x=8/2的余数所以x=0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行