我试图创建一个程序,当它在循环中获得某个值时,它会向另一个主循环广播某种信号,它将开始做它需要做的任何事情。我在网上搜索过多个相互交互的循环,但我一无所获。 例如:我问用户一个号码。当我收到号码时,它会检查它得到的号码并发送信号到正确的循环和那里的计算。完成后,它会将信号发送回主循环并再次重复整个过程,直到用户输入一个特定的号码来终止程序。 P.S如果可能的话,你能以一种简单的方式解释它吗,我是新的(ish)到C.
编辑:代码
#include <stdio.h>
main(){
int ier, cand, product, check, i = 1;
printf("Input only whole numbers!");
printf("\nMultiplier: ");
scanf("%d", &ier);
printf("\nMultiplicand: ");
scanf("%d", &cand);
while(i != 0){
if((ier == 0 && cand > 0) || (ier > 0 && cand == 0)){
printf("Product: 0")
printf("Input only whole numbers!");
printf("\nMultiplier: ");
scanf("%d", &ier);
printf("\nMultiplicand: ");
scanf("%d", &cand);
}
if((ier > 0 && cand > 0) || (ier < 0 && cand > 0) || (ier > 0 && cand < 0))
}
while(i != 0){
if((ier < 0 && cand > 0) || (ier > 0 && cand < 0)){
printf("Values must not be negative");
printf("Input only whole numbers!");
printf("\nMultiplier: ");
scanf("%d", &ier);
printf("\nMultiplicand: ");
scanf("%d", &cand);
}
if(ier > 0 && cand > 0){
break;
}
}
答案 0 :(得分:0)
从c开始,我假设你保持单线程(只有一个进程执行你的程序)。走多线程是一个不同的故事,它真的很复杂。
在这种情况下,您必须将c程序视为一组彼此交互的循环,而不是将一批指令按顺序执行,一个接一个地执行。
“循环”就是当你完成一个设置指令时,你之前会跳回一些指令并重复相同的指令。与“如果”时相同,让您跳过一些说明。
因此,在您的情况下,您可以嵌套循环来执行您想要的操作,例如:
Start program
finished = false
Start loop while not finished
Ask user for a number x
If x < 0 Then finished = true
i = 0
Start loop while i < x
Print i
i = i + 1
End loop
End loop
End program
这称为“伪代码”,它只是一个代码,因此您可以更好地理解事情的进展,而无需了解特定的代码结构。 该程序将询问用户循环中的数字,直到用户输入负数,然后打印出从0到用户输入的所有数字。