#include<stdio.h> #define M 3 #define N 4 void fun(char(*a)[N],char*c) { int i,j,k=0; for(j=0;j<N;j++) for(i=0;i<M;i++)//利用循环语句将将元素 ,放入每一个数组中 { c[k]=*(*(a+i)+j); k++; } c[k]='\0'; } main() { char s[100],str[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};//创建一个空数组s和一个三行四列的数组 int i,j; FILE*out;//输出文件 printf("二维数组中的数据为:\n"); for(i=0;i<M;i++)//利用循环语句将写入的元素放入三行四列的数组 { for(j=0;j<N;j++) printf("%3c",str[i][j]); printf("\n"); } fun(str,s);//jiang三行四列的数组和空数组放入fun函数 printf("则字符串中的内容应是:"); puts(s); printf("\n\n"); out=fopen("outfile.dat","w");//以写的方式打开文件 fprintf(out,"%s",s); fclose(out);//关闭文件 }该代码运行流程
时间: 2024-01-27 20:06:06 浏览: 73
c复习资料整理
该代码的运行流程如下:
1. 定义常量 `M` 和 `N` 分别为 3 和 4,表示二维字符数组的行数和列数。
2. 定义函数 `fun(char(*a)[N],char*c)`,该函数的作用是将二维字符数组 `a` 转换成一维字符数组 `c`。
3. 在 `fun` 函数中,使用双重循环遍历二维字符数组 `a`,将每个元素放入一维字符数组 `c` 中。
4. 在 `main` 函数中,定义字符数组 `s` 和二维字符数组 `str`,并初始化 `str`。
5. 在控制台上输出二维字符数组 `str` 的内容。
6. 调用函数 `fun` 将二维字符数组 `str` 转换成一维字符数组 `s`。
7. 在控制台上输出一维字符数组 `s` 的内容。
8. 打开文件 `outfile.dat`,并将一维字符数组 `s` 写入文件中。
9. 关闭文件。
10. 程序结束,返回 0。
阅读全文