------------------------------------------------------------------------------------------------------
函数,也叫”方法“,每个函数可以看作不同的模块,可以用来实现不同的功能,什么地方需要实现这个功能,调用即可;大大提高了程序的复用性,节省人力和时间。
------------------------------------------------------------------------------------------------------
C语言代码如下:
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
void init(int str1[],int x)
{
int i;
printf(" 请输入十个元素:");
for (i = 0; i < x; i++)
{
scanf("%d ",&str1[i]);
}
printf(" 初始化后的数组为:");
for (i = 0; i < x; i++)
{
printf("%d ",str1[i]);
}
printf("\n *提示*初始化成功!\n\n");
}
void empty(int str2[], int y)
{
int j = 0;
for (j = 0; j < y;j++)
{
str2[j] = 0;
}
printf(" 清空后的数组为:");
for (j = 0; j < y; j++)
{
printf("%d ",str2[j]);
}
printf("\n *提示*数组清空成功!\n\n");
}
void reverse(int str3[],int z)
{
int k,sign,ret;
printf(" 逆置前的数组:");
for (k = 0; k < z; k++)
{
printf("%d ", str3[k]);
}
sign = z - 1;
for (k = 0; k < z/2; k++) //首尾依次交换
{
ret = str3[k];
str3[k] = str3[sign];
str3[sign] = ret;
sign--;
}
printf("\n 逆置后的数组:");
for (k = 0; k < z; k++)
{
printf("%d ",str3[k]);
}
printf("\n\n");
}
void show()
{
printf("\t********************************\n");
printf("\t******* 1. 初始化数组 **********\n");
printf("\t******* 2. 逆置数组 **********\n");
printf("\t******* 3. 清空数组 **********\n");
printf("\t******* 0. 退出 **********\n");
printf("\t********************************\n\n\n");
}
int main()
{
int arr[10],space;
int n=1;
space = sizeof(arr) / sizeof(arr[0]);
while (n)
{
show();
printf("请选择操作:");
scanf("%d", &n);
switch (n)
{
case 1:
init(arr, space);
break;
case 2:
reverse(arr, space);
break;
case 3:
empty(arr, space);
break;
default:
break;
}
}
system("pause");
return 0;
}
------------------------------------------------------------------------------------------------------
干货小知识:函数和全局变量具有外部链接属性;在全局变量前加上static使其具有内部链接属性;
标示符的多个声明被当做不同的实体具有“无属性即none”,例如形参。
------------------------------------------------------------------------------------------------------
转载于:https://blog.51cto.com/814193594/1703520