C语言的调用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言的调用相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
int main()
int max4(int a,int b,int c,int d); //这是什么意思?
int a,b,c,d,max;
printf("please enter 4 number:\n");
scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("the max number is:\n%d\n",max);
return 0;
int max4(int a,int b,int c,int d) //这个又是怎么用?
int max2(int a,int b);
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return(m);
int max2(int a,int b)
if(a>=b)
return a;
else
return b;
// 整个程序是怎么运行的? 请高手指教一下!
int main()
int max2(int a,int b);
int max4(int a,int b,int c,int d);//这里叫做函数声明,就是说,如果你在这段代码中要用到这个函数就得先在前面声明,当然如果你把函数体写在主函数前面就可以省略词句,一般的较大的程序会将函数单独写,然后在主函数里要声明,
int a,b,c,d,max;//定义5个整形变量
printf("please enter 4 number:\\n");//提示输入4个整数
scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d);//输入4个整数(你输入了5个),这句有点毛病,就是你在输入4个整数时中间必须用英文逗号隔开,一般我们这样写scanf("%d%d%d%d",&a,&b,&c,&d);中间用空格分开
max=max4(a,b,c,d);//调用max4函数,将abcd中最大的数返回并赋值给max
printf("the max number is:\\n%d\\n",max);//输出最大数
return 0;
int max4(int a,int b,int c,int d) //这是函数具体的实现代码,这句是函数名,它和前面的声明不同之处就是没后面的分号,大括号内为函数代码,这个函数的作用是从4个数中选出最大的数,
int max2(int a,int b);
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return(m);
int max2(int a,int b)//这是从两个中选出最大的数
if(a>=b)
return a;
else
return b;
#include<stdio.h>//简化代码如下
int max2(int a,int b)
return a>b? a:b;
int max4(int a,int b,int c,int d)
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return(m);
int main(void)
int a,b,c,d,max;
printf("please enter 4 number:\\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("the max number is: %d\\n",max);
return 0;
希望可以帮到你。
int main()
int max4(int a,int b,int c,int d); //函数声明,在函数调用前
int a,b,c,d,max;
printf("please enter 4 number:\\n");
scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("the max number is:\\n%d\\n",max);
return 0;
int max4(int a,int b,int c,int d) //自定义函数,通过主函数调用
int max2(int a,int b); //对max2的函数声明
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return(m);
int max2(int a,int b)
if(a>=b)
return a;
else
return b;
首先进入主函数,输入a,b,c,d四个值,然后调用函数max4,进入函数max4,又调用了max2函数,第一个m=max2(a,b),从max2的代码中很容易看出这是一个求两者最大的函数,将a,b之中最大的返回给m,m就是a,b之中的最大值.第二个m=max2(m,c),同上,求出m和c之间的最大值给m,第三个m=max3(m,d);,和第二个作用一样。然后返回m的值给主函数,主函数的max接收了m的值,然后输出,程序结束。整个程序的功能是输入四个值,输出出最大值。
参考技术B int max4(int a,int b,int c,int d); //这是什么意思?这个相当于声明,因为你看max4 函数写在了main的后边。如果没有第一个声明的话,那么当你执行到max=max4(a,b,c,d);的话,那么编译器就不知道max4的位置,就会出错 参考技术C 在线讲解c语言 答疑等 参考技术D ----------------------------抄过来的资料---------------
有的时候产品容易被默认安装到c:\Program
Files\这样包含空格的路径下,那么在命令行中输入一个带空格的file
path作为参数往往会出错。所以大家都流传着这样一种说法:咱们公司的产品安装的时候选择的目录千万不要包含空格。
但是,一个那么大的产品装好了,使用命令行配置的时候发现path带空格命令过不去,而卸载重装太恐怖了,怎么办?
现在有两个办法来解决这个问题
1)用缩写。比如c:\Program
Files缩写为c:\Progra~1
再来刨根问底查查这个命名是否有规则,于是找到:
文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用双引号括起来的办法。例如:
cd
Documents
and
Settings
按老定义
等于
CD
Documents,
CD
命令找不到名叫Documents
的
directry
于是采用双引号:
cd
“Documents
and
Settings“
但用到
set
PATH
时很麻烦,名字太长,双引号时常括错。于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
"Documents
and
Settings“
--
DOCUME~1
"Local
Settings"
--
LOCALS~1
(注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
于是,这种方法成了规定。
再来个十万个为什么的下一个,如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
假设下面是你的C盘根目录中的文件夹:
Program
Files
Progra
file
Progra
zhang
则三个目录分别表示为:C:\Progra~1;
C:\Progra~2;
C:\Progra~3;
2)绕过去,创建一个镜像。例如在cmd中输入
subst
w:
"C:\Documents
and
Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents
and
Settings\hopeshared了
以上是关于C语言的调用的主要内容,如果未能解决你的问题,请参考以下文章