n = scanf("%d",n);
创新互联建站主营玉门网站建设的网络公司,主营网站建设方案,重庆App定制开发,玉门h5微信小程序搭建,玉门网站营销推广欢迎玉门等地区企业咨询
这一句有问题
1. scanf 函数是有返回值的,它的返回值可以分成三种情况
1) 正整数,表示正确输入参数的个数。
例如执行 scanf(“%d %d”, a, b);
如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量);
如果用户输入”3,4”,可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入”,3 4”,返回0。
3) EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。
你这个输入一个返回值就是1,因此n也会一直等于一
#include stdio.h
double f(double x)
{
return x+5;
}
int main(void)
{
double x[10]={0,1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i10;++i)
printf("%lf\n",f(x[i]));
return 0;
}
比如有一个函数bool test(int a, char b),那么在其他地方调用该函数时也要有2个类型相同的参数,假设有int x和char y,那么直接test(x, y)就可以给函数传值。
举个栗子,比如计算a+b的值的函数
#includestdio.h
int plus(int a,int b)
{
int c = a+b;//2.此处定义的c无法被主函数直接调用,因为c为局部变量
return c;//3.要返回计算结果,只能用return语句
}
int main()
{
int i=5,j=7;
int ans = plus(i,j);//1.该过程中,首先将i,j作为参数(与上面的plus函数说明(m,n)一一对应)传递给plus函数。
printf("%d",ans);
}