[size=12px]如下代碼為啥我每次不管輸入什么數字敲回車都只執行printf("BBBBB\n")這一行代碼呢?翻來覆去找不到錯在哪里了,求大神解答,不勝感激~!!
[/size]
#include <stdio.h>
#include <math.h>
int main(void)
{
double delta;
printf("請輸入delta的值,delta=",delta);
scanf("%d",&delta);
if (delta > 2)
printf("AAAAA\n");
else if(delta <= 2 && delta > 0)
printf("BBBBB\n");
else if(delta==0)
printf("CCCCC\n");
else
printf("DDDDD\n");
return 0;
}
uj5u.com熱心網友回復:
后來我發現,如果我把delta的資料型別定義為float就可以運行正確,但是要是定義為double就運行出錯,不知是什么問題??uj5u.com熱心網友回復:
scanf("%d",&delta);%d是輸入整數
uj5u.com熱心網友回復:
在c語言中,不同的資料型別在輸入輸出的時候所用的占位符不一樣。double 型別的資料型別在輸入(scanf)時用lf%,在輸出(printf)時用lf%或f%;float型別的輸入輸出都用f%;int型別的資料輸入輸出都用d%。希望能幫到你。uj5u.com熱心網友回復:
都是%在前,尷尬了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/54959.html
標籤:基礎類
