c 程序调用的疑惑 求解惑
#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\n",&h);
s=hungry(h);
printf("%d\n",s);//测试语句
if (s==1)
eat_hamberger();
return 0;
}
第一个版本的程序如上:可以编译 一点错误也没有,当我输入12 时没有任何反映。
于是我进行改版:如下
#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;
// scanf("%d\n",&h);
s=hungry(12);
printf("%d\n",s);//测试语句
if (s==1)
eat_hamberger();
return 0;
}
这样的话没有任何问题 编译通过 输入12自动返回 1和打印 ilove eat
请问这里的这几条语句有啥区别
int s,h;
scanf("%d\n",&h);
s=hungry(h)
和
int s;
s=hungry(12);
求指教