1. 程式人生 > >sqrt(a) 返回值為0的問題

sqrt(a) 返回值為0的問題

#include<stdio.h>
#include<math.h>

void main(){								//從鍵盤輸入一個小於1000的整數,要求輸出它的平方根如果它的平方根不是整數則輸出其整數部分。
											//要求在輸入資料後先對其進行檢查是否為小於1000的整數,如不是則要求重新輸入
	int a;
	printf("Please enter an integer under 1000\n");
	scanf("%d",&a);
	if(a<1000 && a>0)	printf("%d\n",sqrt(a));
	else printf("The integer you enter is illegal,please enter again\n");
		 scanf("%d",&a);
		 printf("%d\n",sqrt(a));


	

}
改程式執行的結果卻是

因為 sqrt()函式原型是double sqrt(double x ); 當資料型別不匹配時就會發生錯誤。

修改後: