在C语言中为什么将\n加在浮点数输出语句后无法实现换行?
原因说明
\n是C语言定义的转义字符,属于要输出的内容的一部分,必须放在printf的第一个参数,也就是双引号包裹的格式化字符串内部,才能被识别为要输出的换行符。
你写的错误写法存在两个核心问题:
\n放在了printf函数调用的右括号和分号之间,不属于格式化字符串的内容,C编译器会直接将其判定为非法语法,完全不会进入输出逻辑处理。- 所有要通过
printf输出的字符,无论是普通可见字符还是控制字符,都必须放在格式化字符串的双引号内部,函数调用语法结构里的内容不会被当作输出内容解析。
正确写法
printf("%f %.3f %.2f %.1f\n", 4.5678, 4.5678, 4.5678, 4.5678);
把\n放到格式化字符串的末尾即可,输出完四个浮点数后就会自动换行。
内容的提问来源于stack exchange,提问作者Bonita Kirk
相关产品推荐
相关产品推荐

