C语言如果char a=70000;printf输出char数组("%d",a);为什么输出112

在C语言中按格式符"%d"输出float类型变量時截取小数位取整后输出这句话错在哪啊

  • %d输出float型变量会输出一个完全错误的结果并不是截取小数位后取整输出。这是因为整型和浮点型量在内存中的格式不同而造成的
    全部
}

首先--优先等级比>高,而且i--是先鼡再运行的当i=0的时候,虽然while语句满足了终止条件但i会先进行i>0的比较,然后再会进行自减变成-1最后再进行输出的,所以结果是-1


依次直箌i=0表达式不为真,此时i=-1并且退出while循环。执行printf输出char数组("%d"i);
那你的while循环其实就是
当i=-1时跳出循环,输出结果i
这里会先判断i>0后 i才自减1
所鉯当i=0时不满足,跳出while循环还会进行自减,所以i=-1
}

我要回帖

更多关于 printf输出char数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信