c - 在 C 中执行 While 循环

标签 c

我知道这可能是一个非常简单的问题,但我问了一些有经验的人,他们无法弄清楚,也不知道为什么。这只是一个简单的 do while 循环,实际上直接来自《Absolute Beginner's Guide to C》一书。当它运行并且您输入 n 来输入更多数字时,它会继续运行。你如何让它退出循环?我在 Mac 上使用 XCode,它使用 C。

#include <stdio.h>

int main() {
float num1, num2, result;
char choice;
do {
    num1 = num2 = result = 0;
    printf("first number?\n");
    scanf(" %f", &num1);
    printf("second number?\n");
    scanf(" %f", &num2);
    result = num1*num2;
    printf("ans = %.0f\n", result);
    printf("do you want to enter another pair of numbers? (Y/N)\n");
    scanf(" %c", &choice);

} while (choice != 'N' && choice  != '\n');
return 0;
}

最佳答案

如果您输入 N ('N') 或 Enter ('\n'),它将停止运行>)。如果您也想停止输入小写 n ('n'),您应该编写:

while (choice != 'N' && choice != 'n' && choice  != '\n');

关于c - 在 C 中执行 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32477810/

相关文章:

c - printf NULL 不带引号或非NULL,带引号的sql语句

c++ - 如何在没有库的情况下对 double 组进行有效排序?

c - 如何在 C 中使用原子变量?

c - 通过使用 sscanf 提取数据在 BST 插入函数中传递参数

c# - 如何将用户输入数据从控制台程序获取到C#程序?

C - 如何使用 exec 在后台运行程序?

c - 如何使用包含好的 pcap 结构

c - 运行时检查失败#02

c - 我想打破存储在数组中 '\n' 字符处的字符串?

从 C 函数更改 gtk_tree_selection 中的选定行