gpt4 book ai didi

c - 程序不产生任何输出

转载 作者:行者123 更新时间:2023-11-30 18:43:49 25 4
gpt4 key购买 nike

我尝试编写一段最多 10 个单词的代码,如果所有内容都是全字母组合,它就会打印出它是全字母组合。这段代码的问题在于,即使用户输入 7 个全字母组合词,for 循环也需要停止并打印出由这些单词组成的句子确实是一个全字母组合词。我写了代码,它编译得很好,问题是exe文件,我尝试执行它,但它不起作用。你们能帮我吗?我的代码:

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

#define MAX_WORDS 10
#define MAX_WORD_LENGTH 10
#define TEN 10

int main(void)
{
int i = 0;
int j = 0;
int k = 0;
int p = 0;
int flag = 0;
int counter = 0;

char words[MAX_WORDS][MAX_WORD_LENGTH] = { 0 };

for(i = 0; i < TEN; i++)
{

flag = 0;
fgets(words[i], MAX_WORDS, stdin);
//inputs the name
if(words[i][strlen(words[i])-1] == '\n')
{
words[i][strlen(words[i])-1] = 0;
}
//makes sure there is no problem
for(p = 0; p <= i; p++)
{
for(k = 97; k < 123; k++)
{
for(j = 0; j < strlen(words[i]); j++)
{
if(k == words[i][j])
{
flag = 1;
}

}

}

}
if(flag)
{
counter++;
}
if(counter == 26)
{
i = 10;
printf("It's a pangram?\nYes!");
}
}





return 0;

}

最佳答案

正如评论中所指出的,您应该首先尝试自己调试代码。

对于初学者,我会在 for(i = 0; i < TEN; i++) 的开头粘贴一个 printf循环以确保代码实际上正在执行。当然,您可以将其放入每个其他循环中以了解代码的去向。

我注意到的一个错误在这里:fgets(words[i], MAX_WORDS, stdin); 。 fgets 的第二个参数应该是最大字长而不是最大字数。

关于c - 程序不产生任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009569/

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