试图编写一个简单的程序来扫描输入并保存或保存程序,但我在这里碰壁

问题描述 投票:0回答:2

[试图编写在三角形上工作的程序,用户以P0 x y,P1 x y ...的格式输入信息,但是如果用户输入Q,则程序终止。我了解到scanf函数将与带有逻辑运算符的if else语句一起使用,但是我不确定如何实现。

当我运行代码并键入'Q'时,它仍然要求另外2个提示。我在考虑使用字符串数组,但不确定如何使用,建议会很棒,谢谢。

#include <stdio.h>

void main()
{
    float x, y;
    char Q, input;

    scanf("%c %f %f", &input, &x, &y);

    if (input == 'Q')
        return;
    else
        printf("points are %f %f", x, y);

    return(0);
}
c arrays scanf
2个回答
1
投票

由于格式字符串中有3个格式运算符,因此scanf()直到它填写所有3个变量或出现错误或EOF时才返回。

两次呼叫scanf()。如果不是Q,则一次输入字符,然后输入数字。

#include <stdio.h>

void main()
{
    float x, y;
    char input;

    scanf("%c", &input);

    if (input == 'Q') {
        return;
    }

    scanf("%f %f", &x, &y);
    printf("points are %f %f", x, y);

    return;
}

0
投票

除了其他答案,您可能还想检查字符'q'和'Q'。

© www.soinside.com 2019 - 2024. All rights reserved.