C语言关于return的问题

书上有一段代码:
List *Find(ElementType x,List *Ptrt)
{
List *p=Ptrt;
while(p!=NULL&&p->data!=x)
p=p->next;
return p;
}
这一段是通过链表查找一个数,书上说若找不到那个数时返回空,但代码没有return NULL啊。
另一个问题是有时候一个函数最后只是写个return,不是应该return后面加一个数值吗,返回一个数值给主函数嘛,如果只写个return,那返回什么给主函数呢?
最后大神能推荐关于C语言练习题的书籍吗,不用介绍基础知识,单纯习题加解析。谢谢大神们了!!

没有return NULL是因为在构造链表的时候给最后一项的next指针赋值为NULL了。(比如可能有List *Insert()函数这样的。
所以在while循环时,当p=p->next=NULL时,再次while判断就不成立,return p即为return NULL了。

第二个问题:
当函数为void fun()时,即无需返回值时,可以写一个return ;表示函数结束。

第三个问题:
练习题书籍应该挺多的,本人没怎么做过,一般教科书都带有习题,可做练习。追问

那什么函数就没有返回值呢

追答

返回值是根据您自己的需要来确认的。
比如一个求和的函数:
int sum(int a, int b) { return a + b; }
这里就是求出两个参数的和,返回给调用者。所以有返回值类型int;
有些函数不需要返回值,如:
void print( int i) { printf("i = %d\n", i); }
这里这个函数我们只是用来打印一个值,不需要它返回什么有意义的值,那么就可以为void类型。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-19

    while(p!=NULL&&p->data!=x)  p=p->next; 这个循环就是当p == NULL 或者p->data ==x 才会停止。所以说 这个函数没有的时候就返回NULL。

    void fun() 类型的函数可以写 return; 不用返回任何值。

追问

问题解决了,那能推荐一些C语言的书籍吗

追答

C语言的练习册 最好去问你的C语言老师,没有人比他更了解了。

c语言中的return语句用法
在C语言中,return语句起着至关重要的作用。当一个函数被调用并运行时,return语句就像一个桥梁,它允许程序控制权从被调用的函数返回到主调用的函数。通过在其后指定参数,return能够传递函数执行的结果,这是函数调用中常见的期望行为。在需要时,return也可以不返回具体数值,而是以状态码的形式,比如-1...

C语言-函数返回值return
调用模块 中的函数f(s)(1,2)即x=f(s)(1,2)=s=3 ~return s的作用 就是将定义模块中的s 赋值 给调用模块中的调用函数 如果没有return s 调用模块中的调用函数将永远没有定值 即所求x 无定值 这一点和数学不一样,数学中 同一函数名的值是 通用 的,C语言中 定义函数和调用函数的...

c语言return
return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否,主调函数可以通过返回值判断被调函数的执行情况...

c语言return返回什么值?
在C语言中,return语句具有以下作用:返回值:return语句可以用于从函数中返回一个值。这个值通常被称为函数的返回值。例如,如果你有一个函数用于计算两个数的和,你可以使用return语句来返回这个和:请点击输入图片描述 终止函数:return语句也可以用于立即终止当前函数的执行。这意味着一旦return语句被执行...

c语言return后面跟什么
void表示不返回任何信息,也就是说,用户不应该使用return语句。在void的函数中,使用return;更多的是为了强制性的结束该函数,而不是为了返回一个值。当用户需要在void函数里获得某个信息的时候,可以直接赋值给某个全局变量。

C语言关于return的问题
没有return NULL是因为在构造链表的时候给最后一项的next指针赋值为NULL了。(比如可能有List *Insert()函数这样的。所以在while循环时,当p=p->next=NULL时,再次while判断就不成立,return p即为return NULL了。第二个问题:当函数为void fun()时,即无需返回值时,可以写一个return ;表示函数结束...

在c语言中return的用法是什么啊?
使用return 语句。在此程序计算n的累加求和,先定义函数后,在函数中计算好结果,利用return 语句,将结果返回。在main()函数中调用asum函数,即可得到函数的结果,并将它在主函数输出。例如 include<stdio.h> int asum(int n){ int i=0,sum=0;while(i<=n){ sum=sum+i;i++; } return...

关于C语言return命令的问题。
return 是表示返回给点用函数的值,当返回0时,就是假的意思,函数就结束了,当返回非0时,就返回这个值,说明是真

c语言return返回值给谁
调用者。c语言return语句返回给调用该函数的地方,如果有函数add调用,就将函数的值返回给调用者。谁调用它,他就返回给谁,不过返回类型必须要匹配。

c语言中return是什么意思
在 C 语言中,return 是一条关键字,主要用于函数中,用来表示函数执行完毕并返回值。当函数执行到 return 语句时,它会立刻停止执行,返回后面的值给调用者。如果函数没有返回值,则可以省略 return 语句。另外,在 main 函数中使用 return 语句时,其返回值将会作为整个程序的退出状态,0 表示程序执行...

相似回答