gpt4 book ai didi

c - 格式指定类型 'char *' ,但参数的类型为 'char **'

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

我尝试通过硬编码来打印输出,但出现错误,因为我给出的参数是 char** 类型以及 printf 中的格式正在指定类型 char*。

还有四行代码我不明白(请参阅下面代码中的代码注释),因此如果有人解释该代码块将会非常有帮助。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void inputParsing(char *src, char *end, char *destU, char *destP) {
int x = 0;
for(; src != end; src++){
if((*src != '+') && x==0) {
*destU = *src;
destU++;
}
else if((*src != '+') && x==1){
*destP = *src;
destP++;
}
else {
x = 1;
}
}
*destU = ' '; //What does this line do?
*destP = ' '; //What does this line do?
*++destU = '0'; //What does this line do?
*++destP = '0'; //What does this line do?
printf("%s\n",&destU);
printf("%s\n",&destP);
}

void inputStoring() {
char inputArray[200];
char usernameArray[200];
char passwordArray[200];
//int n = atoi(getenv("CONTENT_LENGTH"));
//fgets(inputArray, n+1, stdin);
strcpy(inputArray, "gaming+koko");
int n = strlen(inputArray);
inputParsing(inputArray, inputArray + n, usernameArray, passwordArray); //inputArray+n is referencing the array cell that contains the last inputted character.
}

int main(void) {
inputStoring();
}

最佳答案

更正 char*char** 问题以及 '0''\0'-问题

*++destU = '\0';                //What does this line do?
*++destP = '\0'; //What does this line do?
printf("%s\n",destU);
printf("%s\n",destP);

代码仍然没有做任何有用的事情,因为 destUdestP 将各自指向一个空字节,这意味着 printf() 将点击 '\0' 作为第一个字符,并且不会打印任何内容。您或许应该解释一下代码应该做什么,这样我们就可以知道哪里出了问题。

关于c - 格式指定类型 'char *' ,但参数的类型为 'char **',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042414/

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