C语言定义一个二维数组char aa[3][10],然后输入分别输入3个字符串
时间: 2023-10-10 11:08:45 浏览: 47
好的,可以使用以下代码来实现:
```c
#include <stdio.h>
int main() {
char aa[3][10];
for (int i = 0; i < 3; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", aa[i]);
}
// 输出输入的字符串
for (int i = 0; i < 3; i++) {
printf("输入的第%d个字符串为:%s\n", i + 1, aa[i]);
}
return 0;
}
```
这段代码中,先定义了一个二维字符数组`aa[3][10]`,表示有3个字符串,每个字符串最多可以有10个字符。然后使用循环依次输入每个字符串,最后再循环输出输入的字符串。注意,使用`scanf`输入字符串时,不需要在变量名前加取地址符`&`。
相关问题
运用C语言定义一个二维数组,从键盘输入三个字符串,找出其中最大的并输出
好的,让我来回答这个编程问题。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
#define STR_NUM 3
int main() {
char strings[STR_NUM][MAX_STR_LEN];
int max_len = 0;
int max_idx = -1;
// 从键盘输入三个字符串
for (int i = 0; i < STR_NUM; i++) {
printf("请输入第 %d 个字符串:", i+1);
scanf("%s", strings[i]);
int len = strlen(strings[i]);
if (len > max_len) { // 找出最长的字符串
max_len = len;
max_idx = i;
}
}
// 输出找到的最大字符串
printf("最大的字符串是:%s\n", strings[max_idx]);
return 0;
}
```
以上程序定义了一个二维字符数组 `strings`,用于存储从键盘输入的三个字符串。然后从数组中找出最长的字符串,并输出。
希望能对你有所帮助。
不一个个字符输入字符串转char二维数组 c语言
可以使用 scanf 函数来读取字符串,并使用一个字符指针数组来存储每个字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char *str[MAX_LEN]; // 定义字符指针数组
int n;
printf("请输入字符串的个数:");
scanf("%d", &n);
// 读取每个字符串并存储到字符指针数组中
for (int i = 0; i < n; i++) {
char temp[MAX_LEN];
scanf("%s", temp);
str[i] = (char*)malloc((strlen(temp)+1) * sizeof(char)); // 动态分配内存
strcpy(str[i], temp);
}
// 打印字符指针数组中的每个字符串
for (int i = 0; i < n; i++) {
printf("第 %d 个字符串是:%s\n", i+1, str[i]);
free(str[i]); // 释放内存
}
return 0;
}
```
在上面的示例中,我们首先使用 scanf 函数读取字符串的个数,然后循环读取每个字符串并将其存储到字符指针数组中。在存储字符串时,我们使用了动态内存分配来保证每个字符串都有足够的空间存储。最后,我们遍历字符指针数组并打印每个字符串,并释放动态分配的内存。