我是编程的新手,我刚学会了,同时,做等等。问题是,当我尝试用第一次检查打破循环时(同时确实)它不会破坏并且它会继续。我尝试了很多东西来处理这个问题(比如复制粘贴我老师给我看的整个程序。)我目前用代码块编程
例如,如果我在开头给出数字0值,程序将不会立即中断,并且它将继续多次尝试打破它。然后它会自行打破。
total = 0;
printf(" ? ");
value = GetInteger();
while (value != 0)
{
total += value;
printf(" ? ");
value = GetInteger();
}
printf("The total is %d\n", total);
答案 0 :(得分:4)
这一行
printf(" ? ");
使用缓冲IO。
之前,你不会在终端上看到它fflush(stdout);
\n
。您的程序可能会耐心等待您输入整数,但您不知道它,因为提示仍在其内部缓冲区中。
假设您不希望在打印提示和输入整数的用户之间换行,请按以下步骤更改您的程序。
total = 0;
printf(" ? ");
fflush(stdout);
value = GetInteger();
while (value != 0)
{
total += value;
printf(" ? ");
fflush(stdout);
value = GetInteger();
}
printf("The total is %d\n", total);
答案 1 :(得分:1)
一旦你在循环中完成操作就必须递减值才能达到结束条件,否则它将在无限循环中运行,因为你的if条件只是检查它是否是!= 0。
由于此处未给出GetInteger的定义,我只是假设它将返回一个整数,可能来自输入。
total = 0;
printf(" ? ");
scanf("%d", &value);
while (value != 0)
{
total += value;
printf(" ? ");
scanf("%d", &value);
}
printf("The total is %d\n", total);
答案 2 :(得分:1)
试试代码
int total = 0;
int value;
printf(" ? ");
scanf("%d",&value);
while (value != 0)
{
total += value;
printf(" ? ");
scanf("%d",&value);
}
printf("The total is %d\n", total);
答案 3 :(得分:-2)
如果它无限循环,则可能是您忘记应用终止条件。
例如,如果要迭代5次,则代码为:
break
如果您想强行破解,请使用 <?php if ($type=="main" ) {
echo '
<ul class="footer-nav">
<h2>Links</h2>
<li><a href="index.php">Home</a></li>
<li><a href="services.php">Our Services</a></li>
<li><a href="upvc.php">Upvc repairs</a></li>
<li><a href="emergency.php">Emergency 24/7</a></li>
</ul>';}
else
echo '
<ul class="footer-nav">
<h2>Links</h2>
<li><a href="locksmiths-<?php echo $areaname ?>.php">Home</a></li>
<li><a href="services-<?php echo $areaname ?>.php">Our Services</a></li>
<li><a href="services-upvc-repairs-<?php echo $area-name ?>.php">Upvc repairs</a></li>
<li><a href="services-<?php echo $area-name ?>-24hour.php">Emergency 24/7</a></li>
</ul>'
?>
关键字。