gpt4 book ai didi

无法比较字符

转载 作者:行者123 更新时间:2023-12-02 08:40:26 26 4
gpt4 key购买 nike

我有两个问题:

第一个问题是我无法输入 for (apr = 0; apr < aprno; apr++)一个一个地添加字符。例如,如果我有 aprno = 4,在输入 A 后它会询问 4th apr.,但是当我输入 AAAA 时它会工作......,它也只适用于整数

第二个问题是 char 和 int 的比较。我知道我无法比较它们,但我没有找到如何在任何地方进行比较的解决方案。

addnoaprons:
system("cls");
printf("Add number of available aprons: ");
scanf("%d", &aprno);
goto addtypeaprons;

addtypeaprons:
if (aprno < 1) goto addnoaprons;
else {
system("cls");
printf("Add types for %d aprons total:", aprno);
for (apr = 0; apr < aprno; apr++)
{
system ("cls");
printf("Aprons total: %d", aprno);
printf("\n\nNo. %d apron type: ", apr + 1);
scanf("%c", &pismapr[apr]);
if (pismapr == 'A') poleapr[apr] = 1;
if (pismapr == 'B') poleapr[apr] = 2;
if (pismapr == 'C') poleapr[apr] = 3;
if (pismapr == 'D') poleapr[apr] = 4;
else goto addtypeaprons;
}
goto showaprons;
}

最佳答案

pismapr 看起来是一个 char 数组;您不能将它直接与单个 char 进行比较。您只需要比较感兴趣的数组元素:

if (pismapr[apr] == 'A') poleapr[apr] = 1;

附言我必须告诉你,这是我多年来见过的一些看起来最奇怪的 C 代码。与其使用 goto 跳来跳去,不如将代码块移动到函数中,然后在循环中调用它们;即,

while (aprno < 1)
aprno = readaprno();

关于无法比较字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986042/

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