前言:
今天咱们就走出舒适区,踩一踩C语言的那些坑吧,一次次的跌倒无所谓,一次次的站起来才是最难做的事,让我们在困难中成长。
你想过放弃,可你没有那么做,因为你知道只有走过眼前这条崎岖的路,远方的康庄大道你才可以走。加油,奋斗的大家!💪💪💪
来看看这里有哪些你还没踩的坑吧
第一题:
先看题目:
分析题目:
就是将十进制的整数1234打印出对应的八进制和十六进制,很简单的一道题却又一些值得大家注意的地方
看代码:
代码剖析:
1.
%o是打印八进制,八进制是0开头(也可以理解为题目中说的前导),其余数字为0~7
%x或%X是打印十六进制,是以0x或0X开头,%x打印后为小写字母0x4d2,%X打印后为大写字母0X4D2
2. #就给八进制和十六进制提供了前导
第二题:
题目:
分析题目:将十六进制的整数ABCDEF转换为十进制整数,还要求域宽为15
先看代码:
代码剖析:
1.printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数,结合这题就 是输出长度为15的整型
2.十六进制的ABCDEF转为代码就是0XABCDEF,写成ABCDEF的话,电脑会看成字符串,发生错误
第三题:
题目:
printf("Hello world!");打印出的是12个字符,特别注意:空格也算哦
写完这道题,感觉连最简单的printf()函数都白学
1. 2. //第一种写法 3. int main() 4. { 5. int ret = printf("Hello world!"); 6. printf("\n"); 7. printf("%d", ret); 8. 9. return 0; 10. } 11. 12. //第二种写法 13. int main() 14. { 15. 16. printf("\n%d", printf("Hello world!")); 17. 18. return 0; 19. }
关于printf()的知识点你真的了解吗
printf()函数的返回值是字符的个数
来看一道类似的题:
把这道题拆开来看,便于理解:
2打印的是1的返回值
3打印的是2的返回值 👇👇👇
第四题:
题目:
下面是代码,用心体会出其中的不同:
小数在内存中有可能不能精确保存,当遇到这样的情况可用float或double分别试一下
结语:
如果对您有帮助的话,不要忘记点赞+关注哦,蟹蟹