关于C语言函数的默认返回值
C语言函数默认返回值(GCC编译器)
int型函数运行无误默认返回值为1,而float默认返回值为函数中最后一个操作过的float变量的值.
#include
int foo1()
{int i, j, k;i = 3;j = 2;k = 5;
}
float foo2()
{float i, j, k;int a;i = 4.0;j = 5.0;k = 8.0;a = 2;
}int main()
{printf("foo1()的默认返回值为%d\n", foo1());printf("foo2()的默认返回值为%f\n", foo2());
}

对于结构体指针函数而言,返回值则默认为最后一次用到(比如赋值,向指针所指结构体的某个变量赋值)的结构体指针。
#include
#include
struct Lnode{int data[100];int last;int length;
};
struct Lnode * foo()
{struct Lnode *q;struct Lnode *q2;q2 = (struct Lnode *)malloc(sizeof(struct Lnode));q2->last = -2;q = (struct Lnode *)malloc(sizeof(struct Lnode));q->data[0] = 1;q->last = -1;q2->data[0] = 2;//默认返回最后被用到的那个结构体指针 }
int main()
{struct Lnode *p;p = foo();printf("%d %d",p->data[0], p->last);
}
其他类型的函数则不再详述,亲自试试便可以得知。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
