c语言中如何一个函数的多次调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中如何一个函数的多次调用相关的知识,希望对你有一定的参考价值。

在A函数中多次调用一个b()函数,例如A函数中a=b(); c=b(),怎么能知道b()函数返回的值是给了a还是给了c

一个函数只能有一个返回值,指针可以返回多个,例如:

void aaa()

int *a,*c;

int a,c;

*a=a;*c=c;

a=b();c=b();

下面调用 *a和*c.

扩展资料:

在C语言中,指针的使用非常广泛,因为使用指针往往可以生成更高效、更紧凑的代码。总的来说,使用指针有如下好处:

1、指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;

2、C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;

3、C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。

参考资料来源:百度百科-指针 (编程语言中的一个对象)

参考技术A

1.可以使用循环语句实现。例如while循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
  while(表达式)
    循环体
 

2.例程:

#include <stdio.h>
int main()
    int n;
    while (scanf("%d",&n)!=EOF) //循环读入n,直到EOF
        printf ("%d ",n);  //调用函数printf输出n,循环多少次,就是输出多少次
    
    return 0;

参考技术B 就你说的这个 a 和c 的的值肯定都是一样的 b()函数每次调用都是有返回值的 无论调用多少次都有
不是说调用一次以后那个值就没了 没那么一说
参考技术C 这个b只是一个子函数,根据实际的参数不同得出的结果不同,你就这样在赋给a,bc,。。。等等 就可以了 参考技术D 返回 指针吧,一个函数只能有一个返回值。指针可以返回多个。
void aaa()

int *a,*c;
int a,c;
*a=a;*c=c;
a=b();c=b();

下面调用 *a和*c.
好像是这样,你再改改吧。本回答被提问者采纳

怎样检查C语言输入数据的合法性?

我在编程的过程中需要输入整数,如何检查输入数据的合法性?如果合法则继续进行下一步的运算,如果不合法则输出EOF。希望各位能帮个忙……谢谢了

1、找到安装好的C-free5,双击打开,进入c-free5的主界面。

2、进入主界面后,点击左上角的空白页选项,新建一个空白的工程,用来实现c语言的输入。

3、新页新建完成后,在前几行打入c语言主函数的基本框架,框架打好后即可调用输入函数。

4、这里的输入函数以scanf为例,首先定义一个整型变量,随机命名这里以a为例。

5、变量定义完成后,在调用scanf函数,使用赋值语句将scanf函数所得到的值给a。

6、语句完成后,点击最上方的运行按钮即可运行这个程序了。

参考技术A

    通过scanf函数的返回值来验证输入的合法性。

    scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。
      ① 遇空格、“回车”、“跳格”键。
      ② 遇宽度结束。
      ③ 遇非法输入。

    scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
    如:
    scanf("%d %d",&a,&b);
    如果a和b都被成功读入,那么scanf的返回值就是2
    如果只有a被成功读入,返回值为1
    如果a和b都未被成功读入,返回值为0
    如果遇到错误或遇到end of file,返回值为EOF。
    且返回值为int型.

参考技术B 如果是整数的话,
这么判断就行:

float num;
int num2
scanf("%f",&num);

if(num==(int)num) num2=(int)num;//如果输入正确,将整数保存到num2中
else printf("EOF");本回答被提问者采纳
参考技术C 用 if (scanf("%d",&x) != 1) 坏的数 判断。
scanf,fscanf 送返 正确地读入的数的个数,例如:
if (scanf("%d %d %d" ,&x,&y,&z) != 3) 有坏的数

--------------------------
int x;
if (scanf("%d",&x) != 1)
printf("bad\n");
printf("EOF\n");

以上是关于c语言中如何一个函数的多次调用的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,同一个函数可以被定义多次吗?

求助c语言大佬们,急! 为啥我多次调用函数,然而输出的时候只有第一层函数输出了,后几层的都没有输

C语言中如何在源程序中调用另一个源程序中的模块(函数)(自己编写的)?

怎样检查C语言输入数据的合法性?

C语言中函数和函数体的区别是啥?

C语言 如何在一个文件中调用另一个文件的函数 用头文件