gpt4 book ai didi

c - 将用户输入存储到两个数组中

转载 作者:太空宇宙 更新时间:2023-11-04 07:55:23 27 4
gpt4 key购买 nike

我将提示用户输入他们的街道名称(是一个单词)并用空格分隔,他们的门牌号。用户会在提示时给我 10 个。

我打算将街道名称放入一个数组,将门牌号放入另一个数组。到目前为止,我有下面显示的代码。它会导致段错误。我已经阅读了我所有的笔记,但我仍然不确定为什么会这样。任何帮助是极大的赞赏。 (注意,第二个循环是查看街道数组是否正确存储了它的元素)。

#include <stdio.h>

int main (void){

char *street[10];
int *number[10];

int i;

for (i=0;i<10;i++){


printf("Enter street and number: \n");


scanf(" %s %d", street[i], number[i]);
}
for (int i=0;i<10;i++){

printf("%s ",street[i]);

}
}

最佳答案

C 需要二维数组来存储字符串。

#include <stdio.h>

int main (void) {

char street[10][100];
int number[10];

int i;

for (i=0;i<3;i++){


printf("Enter street and number: \n");
scanf("%99s %d", &street[i], &number[i]);
}
for (int i=0;i<3;i++) {
printf("%s ",street[i]);
}
}

或者对于指针,你可以使用 malloc 来分配内存

#include <stdio.h>

int main (void) {

char *street[10];
int number[10];
int i;

for (i=0;i<3;i++){
street[i] = malloc(100);
printf("Enter street and number: \n");
scanf("%99s %d", street[i], &number[i]);
}
for (int i=0;i<3;i++) {
printf("%s ",street[i]);
}
}

关于c - 将用户输入存储到两个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50489809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com