gpt4 book ai didi

c - fgets 给我随机的大数字

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:30 24 4
gpt4 key购买 nike

这是我的代码,我不知道如何在 scanf 之后使用 fgets 所以我也在第 26 行使用了 fgets但每次我使用它时,它都会给我很大的数字(例如 2752100),但我写了 2。

为什么要这样做?

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
char veta[100];
int line = 1;//tell what line it is on
int found = 0;
char a[100];//put the characters of the line into here
char b[100];
char linesearch[10];//the line you are looking for
FILE *file;//the file pointer
file = fopen("text.txt","r");//point the file
if (file == NULL)
{
printf("file does not exist or doesn't work\n");
return 0;
}

printf("Ahoj, naucim te psat snadno a rychle! \n");
printf("Vyber si uroven slozitosti od 1 do 10:\n");
//scanf("%d", &linesearch);
fgets(linesearch,10,stdin);
printf("\nHledam uroven %d ...\n\n",linesearch);

编辑:

我还有一个问题:

while(fgets(a,100,file))
{
if(x == line)
{
found = 1;
printf("level %d found,level %d say: %s",x,x,a);
}
else
printf("reading level: %d\n",line );
line++;
}


printf("\nwrite your string as fast as you can!!");
fgets(veta,40,stdin);

if (strcmp(veta,a) == 0)
{
printf("\nwell done!!!!\n");
}
else
{
printf("\nwrong!!!!\n");
printf("%s", a);
printf("%s", veta);
}

我的句子很少(例如我喜欢我妈妈,她也喜欢我,等等)我想将我的文本与文件中的文本进行比较,如果我写得好不好就得到答案。如果它能告诉我我犯了多少错误,它会很强大!

最佳答案

fgets() 函数从输入中读取字符数据。要将此字符数据转换为整数,请使用 atoi() 或类似函数。

fgets(linesearch, 10, stdin);
int x = atoi(linesearch);
printf("\nHledam uroven %d ...\n\n",x);

您的 printf 语句正在打印出 linesearch 数组的地址,这看起来像是一个随机的大数。

关于c - fgets 给我随机的大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30226756/

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