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也会一直等于一
void bar(int p) 是拷贝传递,函数内部的p与外面传入的j只是值相同,并不是同一个内存空间,你在函数内部赋值其实一点作用都没有。
void fun(int *p) 传递的是指针,你也可以连接是拷贝传递,但传递的是指针,所以在里面对*p操作就是于直接对传入的j的内存空间进行操作。
C++中可以改成 void bar(int p) 其他不用改,引用传递,这样就可以修改外面传入的数据了。
无参函数,是指在主调函数调用被调函数时,主调函数不向被调函数传递数据。无参函数一般用来执行特定的功能,可以有返回值,也可以没有返回值,但一般以没有返回值居多。
有参函数,是指在主调函数调用被调函数时,主调函数通过参数向被调函数传递数据。在一般情况下,有参函数在执行被调函数时会得到一个值并返回给主调函数使用。
扩展资料
1、定义有参函数的一般形式为:
函数类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, …, 参数类型n 参数名n)
{
声明部分
语句部分
}
2、有参函数使用注意事项:
(1)在定义函数时,必须要指定形参的类型。实参与形参的个数必须相等,若不相等就是语法错误。此外,实参与形参的类型要相同或赋值兼容。最好是相同,这样不容易出错。如果不相同则实参按形参的类型转化,然后再送给形参。
(2)在传递数据时,实参与形参是按顺序一一对应的。
void another(int * var)
{
int x = 5;
*var = x;
}
void myfun()
{
int i;
another(i); // 此处的 i 得到另一个函数中变量 x 的值。
}