重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
自定义函数的方法:VC中,定义函数分为两步:
目前成都创新互联已为1000+的企业提供了网站建设、域名、网站空间、网站托管运营、企业网站设计、尉犁网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
I.声明:在main函数开头定义变量的位置,声明函数:定义上述函数声明是:
int add(int a,int b);
注意分号,声明前部不能有执行语句;
II.把下面的函数定义部分放在main函数外部
int add(int a,int b)
{
return a+b;
}
推荐放在main的后花括号后面,注意此处的int add(int a,int b)后面并没有分号。
VC里面,返回类型是int的函数可以省略声明部分
求采纳为满意回答。
/*如何把上面这个转置3*3 二维数组程序转换成俩个子函数*/
#includestdio.h
int arr[3][3];//将数组arr定义成一个全局变量
int main()
{
int sr();
int sc();
sr();//输入二维数组
sc();//输出转置后的二维数组
}
int sr(){
int i,j;
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",arr[i][j]);
return 0;
}
int sc(){
int i,j;
for(i=0;i3;i++)
{
for(j=0;j3;j++)
printf("%d ",arr[j][i]);
printf("\n");
}
return 0;
}
运行结果:
严格意义上,你的这个转置并没有改变arr数组原来的值,换句话说,执行完sc后,arr的值并没有改变成转置数组。
可以利用中间数组来完成数组转置,修改如下:
如何把上面这个转置3*3 二维数组程序转换成俩个子函数*/
#includestdio.h
int arr[3][3];//将数组arr定义成一个全局变量
int main()
{
int sr();
int sc();
void printfarr(int arr[3][3]);
sr();//输入二维数组
sc();//转置
printfarr(arr);//输出数组
return 0;
}
int sr(){
int i,j;
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",arr[i][j]);
return 0;
}
int sc(){
int i,j;
int br[3][3];
for(i=0;i3;i++)
for(j=0;j3;j++)
br[i][j]=arr[j][i];//转置后的数组暂放在数组br中
for(i=0;i3;i++)
for(j=0;j3;j++)
arr[i][j]=br[i][j];//将转置后的数组赋值给arr;
return 0;
}
void printfarr(int arr[3][3]){//输出数组
int i,j;
for(i=0;i3;i++)
{
for(j=0;j3;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
}
结果和上边一样。
有些自定义函数可能会被频繁的调用,所以写在一个C文件里是不太方便的。应该把这些自定义的函数写在一个C文件里,同时在一个头文件.h文件里声明。主函数可以通过引用该头文件然后调用需要的自定义函数。
举例如下:
1. 在头文件(.h)里声明自定义函数,定义用户写的函数;
2. 在一个C语言文件里写下自定义函数的实现方式,可以写在主函数前,也可在主函数后(需在头文件前声明函数);
3. 在主函数中调用自定义函数,别忘了头文件的声明;
4. 最后编译所有的涉及到的C文件;
#include stdio.h
void number(int);
int main()
{
for(int i = 0;i10;i++)
{
number(i);
用strtok函数实现吧。 void split( char **arr, char *str, const char *del)//字符分割函数的简单定义和实现 { char *s =NULL; s=strtok(str,del); while(s != NULL) { *arr++ = s; s = strtok(NULL,del); } } int main() { int i; char *myArray[4]; char s[] = "张三$|男$|济南$|大专学历$|"; memset(myArray, 0x0, sizeof(myArray)); split(myArray, s, "$|"); for (i=0; i4; i++) { printf("%s\n", myArray[i]); } return 0; }
#includestdio.h
int
add(int,int);
int
main(void)
将函数拆分为三部分,上面的是头文件,函数申明,主函数,由于在后面的函数中已经有输出了,所以主函数中相当于int
main(void){
}空了
{int
s
;
s=add(2,3);
printf('the
sum
is;%d",s);
return
0;}这个就是对前面申明的函数进行输出
int
add
(inta,intb)
{int
sum;
sum=a+b;
return
sum;)这个是对add(2,3);进行解释;将2,3两个实参赋给这个函数