C语言中的函数的调用时,用一般的变量会有用RETURN,而用指针变量就没有用RETURN?

作者&投稿:薛诚 (若有异议请与网页底部的电邮联系)
c语言中,实参对形参的传递问题(传递的是变量和指针,有无return的区别)以及全局变量与局部变量的判断?~

int a,b; //全局变量A,B
void fun()
{a=100,b=200;} //局部变量A,B,不会影响到MAIN里面A,B,只是改变了全局变量A,B
main()
{int a=5,b=7; //局部变量A,B
fun()
printf("%d%d
",a,b); //局部变量A,B,将全局变量A,B屏蔽
}int a,b; //全局变量A,B
void fun()
{a=100,b=200;} //局部变量A,B,不会影响到MAIN里面A,B,只是改变了全局变量A,B
main()
{int a=5,b=7; //局部变量A,B
fun()
printf("%d%d
",a,b); //局部变量A,B,将全局变量A,B屏蔽
}int a,b; //全局变量A,B
void fun()
{a=100,b=200;} //局部变量A,B,不会影响到MAIN里面A,B,只是改变了全局变量A,B
main()
{int a=5,b=7; //局部变量A,B
fun()
printf("%d%d
",a,b); //局部变量A,B,将全局变量A,B屏蔽
}int a,b; //全局变量A,B
void fun()
{a=100,b=200;} //局部变量A,B,不会影响到MAIN里面A,B,只是改变了全局变量A,B
main()
{int a=5,b=7; //局部变量A,B
fun()
printf("%d%d
",a,b); //局部变量A,B,将全局变量A,B屏蔽
}
答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂答案:
你在开头定义的int a,b;
这个a,b在你整个文件里都起作用。
但是,你在main函数里面又定义了一个a,b;
那么在main函数里面你使用的所有a,b,都是局部定义的a,b,因为在main函数里面全局变量a,b被屏蔽了。

你可以这样改一下,就能明白了:
#include
int a,b;
void fun()
{a=100,b=200;
printf("全局变量a,b分别为:%d,%d
",a,b);
}
main()
{int a=5,b=7;
fun()
printf("main函数里定义的局部变量a,b分别为:%d,%d
",a,b);
}

悉雨辰寂

#define TRUE 1
#define FALSE 0
typedef int BOOL;

#include
#include

char* GetLastPoint(char *str);//函数声明
BOOL Compare(char *str);

void main()
{
char str[30];
BOOL result;//用来保存结果
puts("Input string:");
gets(str);

result = Compare(str);
if(TRUE == result)
printf("TRUE
");
else
printf("FALSE
");
}

char* GetLastPoint(char *str)
{
char *strTail;
strTail = str;
while('\0' != *strTail)//找最后的位置
{
strTail++;
}
return --strTail;//因为strTail == 最后字符后面的'/0'所以要--
}

BOOL Compare(char *str)
{
char *strTail;
strTail = GetLastPoint(str);//使用函数的返回值
if(*str == *strTail)//比较得到结果
return TRUE;
return FALSE;
}

其实很简单,不过尽量不要在函数内部调用别的函数,破坏程序可移植性

用指针变量相当于传址调用 (call by reference),会带出结果。
用一般的变量相当于传值调用 (call by value), 必须用return 返回结果。

函数返回值是自己定义的啊
可以返回你制定的类型
int fn()返回int,需要return
void fn1()不需要return 值

用指针变量直接就对那个数字进行操作了,所以不需要return啊。
你应该看一看C语言函数的传值调用和指针变量那块的知识。

指针变量直接就把它指向的内存改变了,还要返回什么啊。


C语言函数调用的三种方式是什么?
在C语言中,函数调用方式主要与参数的传递有关,通常有三种方式:1. **按值调用(Call by Value)**:这是C语言中最常用的函数调用方式。在这种方式中,实际参数(或称为实参)的值被复制到函数的形式参数(或称为形参)。因此,对形参的任何操作都不会影响实参。这意味着函数内部的参数和外部的变...

C语言中函数的调用有哪些步骤?
long p=1;初始化。p *= m;初始化。long s = 0;累加。s += power(i,k);累乘计算。这类题弄清楚每个函数做什么,涉及哪些量,和函数之间的调用关系。初始化、循环计算、返回结果是最常见的3个步骤,其中第2步可以是基本运算,也可以是调用其它函数完成某个功能。

c语言中,函数的调用是通过什么来实现的?
int even(int x){ if(x%2==0)return 1;else return 0;} void main(){ int i;scanf("%d",&i);if(even(i)==0)printf("奇数");else printf("偶数");

C语言中什么叫调用函数?为什么函数和函数之间是调
调用函数就是计算机编译或运行时,使用某个函数来完成相关命令。对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。 在程序中通过对函数的调用来执行函数体,其过程与其它C语言中什么叫调用函数?为什么函数和函数之间是调 ...

C语言中,函数定义和函数调用的区别是什么?
在C语言中,函数定义和函数调用是两个不同的概念。函数定义指的是编写函数体的过程,其中定义了函数的名称、参数列表、返回类型以及函数体内的实现代码。函数定义告诉编译器如何执行该函数。例如:int add(int a, int b) { return a + b;} 上面的代码定义了一个名为add的函数,它接受两个整型...

C语言函数声明和调用读程序这个过程是怎么算的?
在程序中,函数声明和调用通常是分开的,函数声明一般放在头文件中或在程序的开头部分,而函数定义可以放在任何位置。在使用函数时,先进行函数声明,然后在需要时调用函数。例如,下面是一个简单的C语言程序,用于计算两个数的平均值:include <stdio.h> \/\/ 声明函数 double average(double x, double ...

C语言中什么叫调用函数?为什么函数和函数之间是调用关系?
函数调用总共有三种方式:1. 函数表达式:1函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。2. 函数语句:函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);...

c语言中怎么调用函数
1、直接调用,这种函数一般没有返回值,或者不需要返回值 如 printf("你好,可以直接调用printf函数的!")2、表达式调用,比如对于用户写的一个求最大值函数int max(int a,int b),一般有返回值 如 c=max(6,9) 也就是要用一个量来接收函数返回来的值。3、参数调用,同样对于上面的max 如...

C语言中的main函数能不能调用其它函数
}int main(){ fun2(2,3);\/\/调用fun2.}在这个例子中,就是主函数调用自定义函数fun2,然后fun2调用另一个自定义函数fun1.2、不仅可以调用其它自定义函数,还可以调用自己本身。 这种称为递归。以下是通过递归,计算1+2+3+...+n值的代码:include <stdio.h>int fun(int n){ if(n ...

c语言中函数调用有三种方法,能帮忙各举个例子吗?
函数调用的方式 在C语言中,可以用以下几种方式调用函数:1.函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。2.函数语句:函数调用的一般形式加上分号即构成函数语句。例如...

开远市13088802676: C语言中的函数的调用时,用一般的变量会有用RETURN,而用指针变量就没有用RETURN? -
诗燕麦利: 用指针变量相当于传址调用 (call by reference),会带出结果. 用一般的变量相当于传值调用 (call by value), 必须用return 返回结果.

开远市13088802676: C语言程序函数调用实参形参变化 -
诗燕麦利: 不变.调用函数时,形参只是一个局部变量,赋值时调用实参的数据而已. 但是特别情况是,如果你在函数内部使用了指针型的变量,就会复杂一些. 如果只是普通的调用,不会影响. 你可以看看局部变量与全局变量的说明

开远市13088802676: C语言 被调函数中一般变量和指针变量均作为形参,函数如何调用?函数值如何返回? -
诗燕麦利: 一般变量作为形参,是不能改变实参值的哦,要返回数据就用return; 指针指向真实的地址,不重新分配内存,所以调用函数后,如果函数里改变了指针指向的值,那这个数就真的变了. 调用就是用函数名,还要传送相应的调用参数.

开远市13088802676: C语言问题 函数中形参若为普通变量,则调用时对应位置上的实参可以是指针吗 -
诗燕麦利: 额,你这个问题是这样的么?void fun(int x) {....}调用时,你是 int *p; fun(p);//用指针变量来做形参这是不对的,因为编译器虽然弱智,但是他能分清楚类型啊.你这样相当于耍了编译器,他会报错的,通不过去. 你就把编译器看成是很傻很...

开远市13088802676: c语言中函数的调用方法 -
诗燕麦利: 呃··· 看书会比较明白吧··· 1、函数声明: 返回类型 函数名(形参1,形参2,形参3);(以此类推,有几个参数写几个) 2、函数调用:函数名 (实参1,实参2,实参3); (以此类推,有几个参数写几个)3、函数算法:返回类型 函数名(形参1,形参2,形参3)(以此类推,有几个参数写几个) { }

开远市13088802676: C语言中什么叫调用函数?为什么函数和函数之间是调用关系? -
诗燕麦利: 调用函数就是计算机编译或运行时,使用某个函数来完成相关命令.对无参函数调用时则无实际参数表.实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式.各实参之间用逗号分隔. 在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似. C语言中,函数调用的一般形式为: 函数名(实际参数表) 对无参函数调用时则无实际参数表.实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式.各实参之间用逗号分隔.

开远市13088802676: c语言题目 c语言程序中,当调用函数时,()哪个正确? -
诗燕麦利: c语言程序中,当调用函数时,实参和形参各占一个独立的存储单元. C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发.C语言能以简易的方式编译、处理低级存储器.C语言是仅产生少量的机器语言以及不需要任何...

开远市13088802676: C语言中的函数调用定义..........高人解释下 -
诗燕麦利: 函数的调用 8.4.1 函数调用的一般形式 前面已经说过,在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似. C语言中,函数调用的一般形式为:函数名(实际参数表) 对无参函数调用时则无实际参数表.实际...

开远市13088802676: 1:C语言中调用函数时,到底什么时候用&T,什么时候用T?(类似于& ,*也是) -
诗燕麦利: 你问的是二叉树吧.首先对于lchild 和 rchild,应该明确它们是指针类型.每一个子树本身也是树.所以lchild和rchild应该是指向BitNode类型的指针,所以加了*.至于*BiTree,你可以认为 BitNode 等价于*BiTree.那么意思不就是,BiTree所指向...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网