例子如下:
创新互联公司是一家集网站建设,奉贤企业网站建设,奉贤品牌网站建设,网站定制,奉贤网站建设报价,网络营销,网络优化,奉贤网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
直接编译,程序输出结果中任意输入两个数字,程序执行结果如下图所示:
知识扩展:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。
#include stdio.h
double f(double x)
{return(x*3+1);}
void main(){
double x;
scanf("%lf",x);
printf("%lf",f(x));
}
#includestdio.h
#includeconio.h
void login();
void add();
bool flags = true;
void main()
{
while(flags)
login();
//add();
//getch();
}
void login()
{
int k;
int L=888;
printf("口令888;请输入验证口令:");
scanf("%d",k);
if(L==k)
{
int choice;
printf("您输入正确,欢迎使用C计算器\n");
printf("+=======选择要做的运算=======+\n");
printf("+= 1、加法 =+\n");
printf("+= 2、减法 =+\n");
printf("+= 3、乘法 =+\n");
printf("+= 4、除法 =+\n");
printf("+= 5、求余 =+\n");
printf("+= 0、退出 =+\n ");
printf("+============================+\n");
scanf("%d",choice);
switch(choice)
{
case 1:
add();
break;
case 0:
flags = false;
break;
default : printf("您输入有误");
break;
}
}
else
{
printf("您输入错误,请重新输入!");
}
}
void add()
{
int jia,fa;
printf("请输入2个数");
scanf("%d %d",jia,fa);
printf("%d+%d=%d\n",jia,fa,jia+fa);
}
首先你add写在login里面,main先执行login在执行add,可是add在login了,所以main保留一个login,函数不能嵌套,add写在外面。为了实现循环,添加一个标志位flags初始为true,在选项里添加一个退出,选择之后flags设为flase,退出计算器。
#define _CRT_SECURE_NO_DEPRECATE//这行是在VC2013要用scanf函数时候要写的,其他环境无视
int main()
{
double sum = 0, a;
scanf("%lf", a);//先输入一个a
while (a != 0)//判断a是否=0,等于0就不做了,这里有人喜欢用do-while但如果有测试数据第一组就是0会比较奇葩
{
sum += a;
scanf("%lf", a);//在输入一次判断下面结果的
}
printf("%lf\n", sum);
return 0;
} 还有下面这种可以少用一次scanf
int main()
{
double sum = 0, a;
while (scanf("%lf",a)a!=0)
{
sum += a;
}
printf("%lf\n", sum);
return 0;
}
首先注意子函数要放在主函数外面,其次注意子函数返回的类型,你的max函数要返回一个int类型的数,所以要在max加int,还有函数里面的参数之间用逗号隔开,c语言中与操作符是不是逗号,最后你的max函数写错了,你这样写是无法得到正确的max值的。代码如下:
#include
int
max(int
x,int
y,int
t)
{
int
z=x;
if(yz)
z=y;
if(tz)
z=t;
return
z;
}
void
main()
{
int
a,b,c,d;
scanf("%d,%d,%d",a,b,c);
d=max(a,b,c);
printf("max=%d\n",d);
}
定义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,只是两个参数,并不是加法的对象,这一点一定要搞清楚。