#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 ); 当数据类型不匹配时就会发生错误。
修改后: