gpt4 book ai didi

c - 另一个数组中的安全用户输入(任何类型)

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

我在使用小程序时遇到了一些麻烦。

应该有用户的输入(不同类型)。但是,当用户输入零(“0”)时,循环应该停止,并且程序应该打印零之前的所有输入。

如果 do-while 循环已完成,我想遍历数组并打印所有输入所以我尝试将所有输入安全到另一个数组中。不幸的是,我的问题是,我无法将输入(scanf)安全地保存到另一个数组中。我希望你能帮助我。

这是代码:

int *iarray(unsigned int n) {
char input[MAX];
char key[] = "0";
char arr[MAX] //troublemaker
int i = 0;
int *iptr = malloc(n * sizeof(*iptr)); // or iptr = (int*) malloc(n * sizeof(int));
if (iptr != NULL) {
do {

i++;
printf("Geben sie Strings ein: ");
scanf("%s", input);
printf("%s\n", input);

/*
arr[i] = *input;
Here is the problem
*/


// i'd like to safe var input in another array for example arr[] and print it after the do- while loop


} while(strcmp(input, key) != 0); // compare if input = 0. -> if input zero then break

printf("Durchläufe %d\n", i);

}
return iptr;
}

最佳答案

我终于找到了我的代码的解决方案,开始吧。我将非常感谢任何改进我的代码的建议。干杯;)

#define MAX 100


int *iarray(unsigned int n) {
char input[MAX][MAX];
char temp[MAX][MAX];
char key[] = "0";

int i = 0;
int *iptr = malloc(n * sizeof(*iptr)); // or iptr = (int*) malloc(n * sizeof(int));
if (iptr != NULL) {
do {
i++;
printf("Put in a strin: ");
scanf("%s", input[i]);
printf("%s\n", input[i]);
strcat(temp[i],input[i]); // i use a temp array to safe all input stings there
} while(strcmp(input[i], key) != 0); // compare if input = 0. -> if input zero then break

printf("Durchläufe %d\n", i);
int l;
for (int k = 1; k <= i; k++) { //first loop creates amount of input strings
printf("\n");
for (l = 0; temp[l] != NULL; l++) { // second loop prints every single letter
if (temp[k][l] == 0) { // if there is no if-statement i get a lot of crap from the output
break;
}else{
printf("%c" , temp[k][l]); // here i print my 2d arrays
}
}
printf(" -> lenght %d", l);

}
printf("\n");
}
return iptr;
}

...

关于c - 另一个数组中的安全用户输入(任何类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27341951/

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