繁体   English   中英

如何在执行do while循环结束时获取printf? 它只是跳过它

[英]How do I get the printf at the end of do while loop to be executed? it just skips it

#include <cs50.h>
#include <stdio.h>

int main(void)
{
    int min;

    do
    {
        printf("Minutes: ");
        min = get_int();
    }
    while(min <= 0);
    return 0;


    printf("Bottles: %i\n", min * 12);

}

好的,我真的很新c。 代码应该像这样工作:如果用户键入一个负整数,它将继续请求整数,否则它应该在结束时运行printf语句,但这不会发生。 有人能帮助我吗?

移动return 0; printf函数后的行,因为return 0; 让你的申请完成。 - >所以没有printf("Bottles: %i\\n", min * 12); 会被称为。

int main(void)
{
    int min;

    do
    {
        printf("Minutes: ");
        min = get_int();
    }
    while(min <= 0);

    printf("Bottles: %i\n", min * 12);

    // Change the position of return
    return 0;

}

你是C的新人,

return 0;

这意味着它在执行程序之后将返回0值并退出main()函数。 返回0后不会执行任何操作;

所以对于你的情况,行printf("Bottles: %i\\n", min * 12); 未执行,因为此行在返回0后写入; 声明。

所以在返回0之前放入该行; 你的代码应该运行正常!

改变立场

返回0;

从几个使用返回,一个是返回使用打破功能

在这里你的回报0; 声明破坏您的主要方法并滑动以下语句。

从现在开始,养成使用return 0的习惯; 在代码的最后

像这样

int main(void)

{

int min;

do
{
    printf("Minutes: ");
    min = get_int();
}
while(min <= 0);



printf("Bottles: %i\n", min * 12);


return 0; // always use before the right parenthesis of main function

}

快乐的编码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM