扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用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; }
站在用户的角度思考问题,与客户深入沟通,找到亭湖网站设计与亭湖网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖亭湖地区。
/*如何把上面这个转置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");
}
}
结果和上边一样。
3位数整数正确分离的屏幕上输出源代码如下:
#include iostream
#include cstdio
#include cstring
using namespace std;
int main()
{
char a[10];
gets(a);
int l=strlen(a);
for(int i=l-1;i=0;i--)
{
couta[i]" ";
}
return 0;
}
扩展资料
C语言程序结构的特点
1、一个程序有一个或多个源程序文件组成。
在一个源程序文件中可以包含三个部分:预处理指令、全局声明、函数定义。
2、函数是C程序的主要组成部分。
一个C语言程序有一个或多个函数组成,其中必须包含一个main函数(且只能有一个main函数),编写C程序的工作主要就是编写一个个函数。
3、函数体即函数首部花括号内的部分。包括声明部分和执行部分,声明部分包括定义在本函数中所用到的变量,执行部分由若干个语句组成,指定在函数中所进行的操作。
你的问题描述不清楚啊,C语言中没有规定必须将数据和 函数分离开来,
如果你说的是这种例如
for(int i=0;i8;i++){ } int 在for循环中定义int i;只是在有些编译器中会报错。
而在函数中可以定义数据的
void(int m=0,int n,int i=9) 这些都是可以的
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流