c语言 int是不是程序中所有小数都自动化为整数? 5

比如输入一个三位数求它逆序输出的程序#include<stdio.h>voidmain(){intx,y,z,a;scanf("%d",&a);x=a/100;y=a%1... 比如输入一个三位数 求它逆序输出的程序
#include<stdio.h>
void main()
{
int x,y,z,a;
scanf("%d",&a);
x=a/100;
y=a%100/10;
z=a%100%10;
printf("%d%d%d\n",z,y,x);
}
问一下 假如 a是432 那么 这里x=432/100=4.32如果没有最后一步输出整数的话这里的x是4.32还是4呢? 就是int的取整是只针对它后面到分号前那些数 还是针对整个程序呢?
展开
 我来答
C_will
推荐于2017-11-26 · 超过25用户采纳过TA的回答
知道答主
回答量:139
采纳率:100%
帮助的人:31.4万
展开全部
x=4.因为432与100都是整数,结果也只取整数部分。在你编译时候会有警告(不是错误),x的当前类型会造成结果部分丢失。int是一种定义类型,当然只对xyz有效。如果有新的定义,会遵循新的定义类型。xyz属于int类型,而不能说int针对那些数还是整个程序。
松甜恬0Je4ba
2012-11-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3472万
展开全部
是4 是不带小数的

432 和 100 在c语言都被看成是int 而int相除的结果就是 int 然后将这个int赋值给x

而不是因为x是int 而舍弃小数的

你可以这样试试

float x = 432/100;
然后 用%f输出 看输出的是 4.32还是 4.0 ??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li_CPU
2012-11-28
知道答主
回答量:2
采纳率:0%
帮助的人:3092
展开全部
int可以强制取整,例如:(int)4.5=4;
int在它对应作用域内成立,int是定义在main里面的,所以在main中适用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hilaryfrank
2012-11-30
知道答主
回答量:19
采纳率:100%
帮助的人:3.8万
展开全部
自动转换啊。你最好去看看整数的四则运算,它本身就会做取整操作的。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-05
展开全部
转化成前面的 而非四舍五入~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式