C语言 与其他循环的循环交互



我正在尝试创建一个程序,当它在循环中获得某个值时,它会将某种信号广播到另一个主循环,它将开始做它需要做的任何事情。我在网上搜索了多个循环相互作用的信息,但我一无所获。例如:我向用户询问一个号码。当我收到数字时,它将检查它得到的数字,并将信号发送到正确的循环和那里的计算。完成后,它将信号发送回主循环并再次重复整个过程,直到用户输入特定数字以终止程序。附言如果可能的话,你能用简单的方式解释一下吗,我是 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;
    }
  }

从 c 开始,我假设你保持单线程(只有一个进程执行你的程序(。多线程是一个不同的故事,它真的很复杂。

在这种情况下,你必须将 c 程序视为一组相互交互的循环,而不是一批按顺序执行的指令,一个接一个。

"循环"只是当你完成一个设定的指令时,你跳回到之前的一些指令并重复相同的指令。就像"如果"让你跳过一些说明一样。

因此,在您的情况下,您可以嵌套 Loops 来执行您想要的操作,例如:

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 到用户输入的所有数字。

最新更新