gpt4 book ai didi

c - 我在代码中犯了哪些错误。它没有给出任何输出?

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

我在代码中犯了什么错误?它没有给出任何输出。问题在 image 中给出。我正在使用 ASCII 变量集来打印字母和数字集。

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

int main()
{
int i, j, temp, t, s, e;
char test[20], start = 'a', end = 'z';
scanf("%s", test);
for (i = 0; i < strlen(test) && (test[i] == '-'); i++);
for (; i < strlen(test););
{
if (isalpha(test[i]) != 0)
{
start = test[i];
for (; (i < strlen(test)) && (isdigit(test[i]) == 0); i++);
}

end = test[i - 1];
temp = end - start + 1;

if (isdigit(test[i]) != 0)
{
s = test[i];
for (; (i < strlen(test)) && (isalpha(test[i]) == 0); i++);
}

e = test[i - 1];
t = e - s + 1;

for (j = 0; j < temp; ++j, start++)
{
printf("%c", start);
}
printf("\n");

for (j = 0; j < t; ++j, s++)
{
printf("%c", s);
}
printf("\n");
}

return 0;
}

最佳答案

您已将 ; 放在 for 循环的末尾,这就是 for 循环 的主体未执行为预期的。 Effect of semicolon after 'for' loop

for (i = 0; i < strlen(test) && (test[i] == '-'); i++);
for (; i < strlen(test););
for (; (i < strlen(test)) && (isdigit(test[i]) == 0); i++);
for (; (i < strlen(test)) && (isalpha(test[i]) == 0); i++);

从每个 for 循环末尾删除 ;

您还应该删除内部 for 循环,因为它已在外部 for 循环中提到。 请正确检查每个 for 循环的主体

关于c - 我在代码中犯了哪些错误。它没有给出任何输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52922136/

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