关于scanf 使用容易出错的点
注:由于这些错误编译器不会报错 ,所以很麻烦
错误1:
#include <stdio.h>
int main()
{
float a,b,c;
printf("please input three line length of in order :a>=b>=c\n");
scanf("%f %f %f",&a,&b,&c);//注意接受输入的函数格式,没有逗号哦
//如果输入为scanf("%f,%f,%f",&a,&b,&c);
//这样就错了 最后接收的b=c=0.000000
//注意注意×××××××××××××××
printf("%f,%f,%f",a,b,c);
if( c <= 0 || b + c < a )
printf("no");
else if(a==b && b==c)
printf("等边三角型\n");
else if(a==b || b==c)
printf("等腰三角形\n");
else
printf("一般三角形\n");
return 0;
}
错误2:
#include <stdio.h>
int hungry(int n)
{
if(n>10)
return 1;
else
return 0;
}
void eat_hamberger()
{
printf("i love eat ");
}
int main()
{
int s,h;
scanf("%d",&h);
//上条语句如果变成这样scanf("%d\n",&h);
//编译器不会报错 很难找出错误
//多了一个\n
//*****************
// int h=12;
s=hungry(h);
printf("%d\n",s);//测试语句
if (s==1)
eat_hamberger();
return 0;
}