首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言入门刚刚遇到的小疑问

2013-12-13 
C语言入门刚遇到的小疑问。这是C语言程序设计上面的,#includestdio.hmain(){printf(华氏和摄氏温度对照

C语言入门刚遇到的小疑问。
这是C语言程序设计上面的,
#include<stdio.h>
main(){
printf("华氏和摄氏温度对照表:\n"); 
float fahr,celsius;
int lower,upper,step;  

lower = 0;      
upper = 300;   
step = 20;      

fahr = lower;    
while(fahr <= upper){
celsius = (5.0/9.0) * (fahr-32.0);
printf("%3.0f% 6.1f\n",fahr,celsius);
fahr = fahr + step;

}

#include<stdio.h>
main(){
printf("华氏和摄氏温度对照表:\n"); 
int fahr,celsius; 
int lower,upper,step;  

lower = 0;       
upper = 300;   
step = 20;      

fahr = lower;     
while(fahr <= upper){
celsius = 5 * (fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr = fahr + step;
}  
}
第一个浮点数类型的第二个是整数类型的,都是一样的程序,可是为什么两个在printf()
一个是"%3.0f% 6.1f\n",一个确实"%d\t%d\n",我知道这是啥意思,可是就是不懂那个\t为什么
第一个没有第二个就有,而且第一个加了\t还有错误,为什么第一个不需要\t,不是都需要横向
制表符才能显示么?各位大哥能给小弟讲下原理么?
[解决办法]

"%3.0f%\t6.1f\n"不会有问题

不好意思,打错了,是"%3.0f\t%6.1f\n"。
[解决办法]
楼上说的很清楚了。
补充一下:
%3.0f的意思是:浮点型输出共占3位,其中小数点后占0位,不足3位的左边补上空格
%6.1f的意思是:浮点型输出共占6为,其中小数点后占1位,不足6位的左边补上空格
 
 0 -17.8
 20  -6.7
 40   4.4
 60  15.6
 80  26.7
100  37.8
120  48.9
140  60.0
160  71.1
180  82.2
200  93.3
220 104.4
240 115.6
260 126.7
280 137.8
300 148.9


算上小数点,你的摄氏度的输出最长为5位(148.9),左边还会有一个空格,所以,不同tab(\t)也能有分隔的效果。

另外,
%3.0f\t%6.1f
是没有问题的。

热点排行