#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);
}
好的,我真的很陌生。代码应该像这样工作:如果用户键入一个负整数,它将继续请求整数,否则它应该在结束时运行printf语句,但这不会发生。有人能帮帮我吗?
答案 0 :(得分:4)
在return 0;
功能之后移动printf
行,因为return 0;
让您的申请完成。 - &GT;所以不会调用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;
}
答案 1 :(得分:4)
你是C的新人,
return 0;
这意味着在执行程序之后它将返回0值并退出main()函数。返回0后不执行任何操作;
所以对于你的情况,行
printf("Bottles: %i\n", min * 12);
未执行,因为此行在返回0后写入;言。
所以在返回0之前放入该行;你的代码运行正常!
答案 2 :(得分:3)
更改
的位置返回0;
从返回的几个使用,一个是返回使用中断功能
此处您的返回0; 语句会破坏您的主要方法并滑动以下语句。
从现在开始,养成在代码末尾使用返回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
}
快乐编码