需要帮助C编程中的退出语句

时间:2012-10-10 16:23:21

标签: c exit

这是我的代码。它允许用户输入数字,然后将其输出为32位二进制数。我面临的问题是我需要找到一种方法,以便在输入后不断询问您的数字,直到" 9999"在结束程序的地方输入(不是"按任意键继续")

#include "stdafx.h"
void db(unsigned int value);
int main(void)
{
    unsigned int x;//
    printf("%s", "Enter in number:"); 
    scanf_s("%d", &x);//%u=unsinged number,, pointer
    db(x);
}//end of main

void db(unsigned int value)
{
   .........................
        }

2 个答案:

答案 0 :(得分:2)

您需要为main添加一个循环,如下所示:

for (;;) {
    unsigned int x;// You may need to move this declaration to outside the loop
    printf("%s", "Enter in your student number:"); 
    scanf_s("%d", &x);//%u=unsinged number,, pointer
    if (x == 9999) break;
    displayBits(x);
}

由于决定继续或停止是在循环体的中间进行的,因此首选使用“永远”循环。有多种方法可以实现这一点,但由于for (;;)是K& R中描述的方法,我建议将其用于其他替代方案。

答案 1 :(得分:1)

使用:

int main(void)
{
    unsigned int x;

    while (1)
    {
        printf("%s", "Enter in your student number:"); 
        scanf_s("%d", &x);
        if (x == 9999) break;
        else displayBits(x);
    }
    return 0;
}

此外,puts("\n");打印2个新行,因为它无论如何都会打印换行符。要仅打印一个新行,请使用puts("");

相关问题