用C语言写一个程序,大体功能为 主程序设定一个char* [][]数组,将其传参到一个函数,函数会循环将每个char* []里面的每个char* [][]填入数据,然后主程序再调用另一个函数传参这个数组,遍历打印这个数组的数据
时间: 2023-09-22 18:05:46 浏览: 94
### 回答1:
很高兴能为您服务,您的问题是:用C语言写一个程序,大体功能为主程序设定一个char*[][]数组,将其传参到一个函数,函数会循环将每个char*[]里面的每个char*[][]填入数据,然后主程序再调用另一个函数传参这个数组,遍历打印这个数组的数据。答案是:可以使用C语言中的指针数组来实现。首先,定义一个指针数组,将其传入到一个函数中,然后在函数内部,使用一个循环将每个char*[]里面的每个char*[][]填入数据,最后再调用另一个函数,将指针数组传入,然后遍历打印出数组中的数据。
### 回答2:
下面是一个用C语言编写的程序,实现了主程序设定一个char* [][]数组,并传参给一个函数来填充数据,然后主程序调用另一个函数来遍历并打印这个数组的数据。
```c
#include <stdio.h>
// 填充数据的函数
void fillArray(char* arr[][2], int rows) {
printf("开始填充数组...\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < 2; j++) {
printf("请输入第%d行第%d列的数据:", i + 1, j + 1);
scanf("%s", arr[i][j]);
}
}
}
// 遍历并打印数组数据的函数
void printArray(char* arr[][2], int rows) {
printf("开始打印数组数据...\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < 2; j++) {
printf("%s ", arr[i][j]);
}
printf("\n");
}
}
int main() {
char* arr[][2] = {{"Hello", "World"}, {"C", "Language"}, {"Programming", "Code"}};
int rows = sizeof(arr) / sizeof(arr[0]);
fillArray(arr, rows);
printArray(arr, rows);
return 0;
}
```
这个程序中,首先在主函数中定义了一个char* [][]数组arr,并初始化了部分数据。然后,主函数调用fillArray函数来填充数组的剩余数据。fillArray函数会依次循环输入数组中每个元素的值。
接着,主函数调用printArray函数来遍历并打印数组的数据。printArray函数会将数组中的每个元素依次打印出来。
运行这个程序,会先打印出填充数组的提示信息,并等待用户输入数据。然后,打印出遍历数组的提示信息,并输出数组中的所有数据。
注意:在编写实际应用程序时,应该添加错误处理代码,以处理用户输入错误或内存不足等情况。上述程序仅为简化示例,展示基本思路。
### 回答3:
下面是一个用C语言编写的程序,实现了主程序设定一个char* [][]数组,将其传参到一个函数,函数会循环将每个char* []里面的每个char* [][]填入数据,然后主程序再调用另一个函数传参这个数组,遍历打印这个数组的数据。
```c
#include<stdio.h>
void fillData(char* array[][3], int rows, int cols) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
char data[100];
printf("请输入第 %d 行,第 %d 列的数据:", i + 1, j + 1);
scanf("%s", data);
array[i][j] = malloc(strlen(data) + 1);
strcpy(array[i][j], data);
}
}
}
void printData(char* array[][3], int rows, int cols) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
printf("%s ", array[i][j]);
}
printf("\n");
}
}
int main() {
char* data[2][3];
fillData(data, 2, 3);
printData(data, 2, 3);
return 0;
}
```
以上程序中,fillData函数用于循环接收用户输入的数据,并将其填充到二维数组array中。printData函数用于遍历打印二维数组array中的数据。在主程序中,首先定义了一个二维数组data,然后调用fillData函数填充数据,最后调用printData函数打印数据。通过运行程序,用户可以输入数据,并在程序结束后看到输入的数据被正确打印出来。
阅读全文