#include<stdio.h>
void Temperature(float t);
int main(void)
{
float t,s,k;
printf("請輸入華氏溫度(小數為零不可省略):");
scanf("%f",&t);
while(scanf("%f",&t)==1)
{
Temperature(t);
printf("華氏溫度:%.2f\n攝氏溫度:%.2f\n開氏溫度:%.2f",t,s,k);
}
printf("結束");
return 0;
}
void Temperature(float t)
{
float s,k;
s=5.0/9.0*(t-32.0);
k=s+273.16;
}
運行起來,輸入t的值之后,期望的列印出來的東西并沒有列印出來,而是繼續讓我輸入,如果我輸入了非數字,他就會立刻顯示結束,好像是t的值沒有傳到創建的函式里
為什么啊

uj5u.com熱心網友回復:
#include<stdio.h>
void Temperature(float t, float *s, float *k);
int main(void)
{
float t,s,k;
printf("請輸入華氏溫度(小數為零不可省略):");
//scanf("%f",&t); //去掉這次的輸入,否則需要輸入兩次~
while(scanf("%f",&t)==1) //這里還有一個scanf呢,用一個吧,建議保留這個~
{
Temperature(t, &s, &k);
printf("華氏溫度:%.2f\n攝氏溫度:%.2f\n開氏溫度:%.2f",t,s,k);
}
printf("結束");
return 0;
}
void Temperature(float t, float *s, float *k)
{
//float s,k;
*s=5.0/9.0*(t-32.0);
*k=*s+273.16;
}
供參考~
uj5u.com熱心網友回復:
while(scanf("%f",&t)==1),你認為while()中僅僅是一個判斷嗎,就像通常的判斷一樣if(xxx函式==0) return-1;xxx函式依然執行啊轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/258219.html
標籤:C語言
