c语言对函数赋值 c语言函数可以赋值吗

C语言如何给用函数二维数组动态赋值1、当成普通数组使用,用for循环即可赋值 。
2、例程:
#include
#include
int
main(void)
{
int
*a=NULL;
int
i;
a=malloc(sizeof(int)*10);/*动态创建一个有10个int元素的数组*/
if
(a==NULL)
{
/*a==NULL表示空间分配失败*/
fprintf(stderr,"MEMORY
ERROR");
return
-1;
}
for
(i
=
0;
i
10;
i++)
{
a[i]=i;
/*对数组进行赋值操作*/
}
free(a);/*动态分配的空间需要用free()函数释放*/
return
0;
}
C语言中输入函数赋值?n = scanf("%d",n);
这一句有问题
1. scanf 函数是有返回值的c语言对函数赋值,它的返回值可以分成三种情况
1) 正整数c语言对函数赋值,表示正确输入参数的个数 。
例如执行 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也会一直等于一
C语言中的函数赋值问题#include
stdio.h
f(int
a,int
b,int
m){
//这个函数是个完全没意思c语言对函数赋值的函数
m=a*b;
return
;
//原因在这
这里直接return了
没指明返回哪个变量
那它的意义就只是说f函数结束了
其实什么也没返回
}
void
main(){
int
m=1;
//这里对m赋值1
f(2,3,m);
//运算是完全没意思的运算
所以最后结果是1
printf("%d",m);
}
为什么运行结果是m=1?????
//
在f函数那
return
m
就能得到c语言对函数赋值你想要的
不过要把主函数里的倒数3行改成
m=f(2,3,m)
c语言中可不可以直接在函数首部直接给参数赋值不明白你的意思……是不是类似于这样 int hello(char a,int i = 4,int m = 9){}?
这样在c语言中是不可以的 , 这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例
hello(n);默认i=4,m=9 。hello(n,5,23); 这里在函数中i = 5 , m = 23.
就是说,如果调用时给参数赋值了 , 就使用赋值的,如果没有,就使用默认的
需要标明一点,这种函数参数表有个规则,就是所有的默认参数都靠后 , 即:int hello(int a = 1,int b,int c=23){} 是错误的……而且,使用时,也不可以跳过一个默认值给后面的值赋值 , 如:
int hello(char a,int b= 12,char c = 'd')如果想参数b使用默认而给c赋值,那么必须是hello(a,12,c),如果跳过赋值b , 即:hello(a,c);就是错的,很好理解,这样就把c赋值给参数b了 , 一定报错 。
【c语言对函数赋值 c语言函数可以赋值吗】c语言对函数赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言函数可以赋值吗、c语言对函数赋值的信息别忘了在本站进行查找喔 。

    推荐阅读