gpt4 book ai didi

c - 将消息存储在二维数组中的函数(在 C 编程中)

转载 作者:行者123 更新时间:2023-11-30 17:26:57 25 4
gpt4 key购买 nike

我想要实现的是一个 C 程序,每次用户输入名称时都会存储名称,如下所示:

函数1:阅读:约翰

函数2打印约翰

函数1:阅读:迈克尔

函数2打印:约翰打印:迈克尔

我想知道如何在两个函数中而不是单个函数中执行此操作。

  • 我有 2 个功能。
  • 功能1 -读取用户输入的消息。(最多5条消息)

.

void read(void)
{
int i;

char read[100];
// char * msg = (char *) malloc(sizeof(msg));

//i want to read 5 messages from user
for (i=0;i<5;i++)
{
scanf("%s",&read);
//i want to copy the message read into a variable msg,
//i dont know why i am doing this
//strcpy(msg,read);
//i want to call the store funcion
store(read);
}
}
  • 功能2
    • 在 function1 的循环中调用它来读取 5 条消息
    • 获取消息并将其传递给其参数
    • 它将消息存储在二维数组中
    • 打印整个二维数组

.

int store(char *stock)
{
printf("saving.....stored\n");
char share[5][10]; //this is my 2d array to hold 5
//messages/names of 10 chars long
int i=0;

char * savedmsg = (char *) malloc(sizeof(savedmsg));
strcpy(share[i],stock);

printf("%s\n",share[i]);
i++;
printf("%s\n", share[1]);
}

我这周已经开始学习 C,但我认为我遇到的错误是 func2 不断重新初始化 i=0; 我希望它递增 i++; 因此 func2 不断覆盖二维数组中的第一个索引。

感谢您今后的帮助。

最佳答案

而不是使用

int i=0;

将其声明为静态,如下所示:

static int i=0;

i 的值在函数调用期间保存。

关于c - 将消息存储在二维数组中的函数(在 C 编程中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26576029/

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