gpt4 book ai didi

预期输入格式的 C Scanf 输入测试

转载 作者:行者123 更新时间:2023-11-28 19:58:54 24 4
gpt4 key购买 nike

我需要制作一个简单的 C 程序,它将以需要像这样的预期格式求解二次方程:

a x^2 + b x + c = d x^2 + e x + f

我正在使用 scanf 读取输入,它按预期工作。但是我需要为我的 scanf 读数实现一些输入测试,现在就像这样:

scanf("%f x^2 + %f x + %f = %f x^2 + %f x + %f", &a, &b, &c, &d, &e, &f);

我需要 printf("Wrong input\n"); 为每个输入,例如 f.e.

'abc', '1 x^2 + 1 x + 1 = 0', 'x^3...'

我尝试了 if (scanf() != 1),但它每次都打印“错误输出”。关于如何实现这一目标的任何想法?

最佳答案

if I enter only '1 x^2 + 1 x + 1 = 0' it waits for next possible input.

在这种情况下,使用 fgets 读取完整输入并使用 sscanf 解析值,如下所示。

  char buf[100];
fgets(buf,sizeof buf,stdin);

int r = sscanf(buf,"%f x^2 + %f x + %f = %f x^2 + %f x + %f", &a, &b, &c, &d, &e, &f);
if (r!=6)
printf("Wrong input\n");
else
printf("correct\n");

关于预期输入格式的 C Scanf 输入测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52963330/

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