例子如下:
成都创新互联专业为企业提供宜章网站建设、宜章做网站、宜章网站设计、宜章网站制作等企业网站建设、网页设计与制作、宜章企业网站模板建站服务,10年宜章做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
直接编译,程序输出结果中任意输入两个数字,程序执行结果如下图所示:
知识扩展:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。
定义int arr[5] = {20, 10, 5, 39, 88};时,系统产生一个有5个元素的一维数组,5个元素分别是arr[0]到arr[4],对应的各个元素的地址分别是arr到arr+4。
当用sum(arr, arr + 5));计算数组总和时,sum是一个自定义函数,其内容是由编程人书写的。
如果这个函数是这样写:
int sum(int*a,int*b){
int*p,s;
for(p=a,s=0;pb;p++)
s+=*p;
return s;
}
就能得到正确的结果。
你说的“arr指向数组的首地址”是正确的,但“对arr+5后不是相当于arr[6]了吧”是错误的,因为arr+5是元素arr[5]的地址。但即使这样,如果自定义函数不加arr[5](像上面的例子),程序是能够得到正确的结果的。但是,如果不这样写,可能会造成这样数组下标越界。
这取决于函数sum是怎样写的。
最主要的,sum后面的arr与arr+5,只是两个参数,并不是加法的对象,这一点一定要搞清楚。
最基础的常识,C的所有语句必须在函数内,且必须有main函数的
你的
result=add(1,2);
不在任何函数内,且程序没有主函数.当然错了
正确的
#includestdio.h
int
add(int
a,int
b)
//函数定义没有问题
{
return
a+b;
}
int
main()
//要有主函数
{
int
result;
//变量必须先申明
result=add(1,2);
printf("%d\n",result);
return
0;
}
#include stdio.h
double f(double x)
{return(x*3+1);}
void main(){
double x;
scanf("%lf",x);
printf("%lf",f(x));
}