循环与其他循环的交互

时间:2017-03-16 17:05:54

标签: c loops interaction

我试图创建一个程序,当它在循环中获得某个值时,它会向另一个主循环广播某种信号,它将开始做它需要做的任何事情。我在网上搜索过多个相互交互的循环,但我一无所获。 例如:我问用户一个号码。当我收到号码时,它会检查它得到的号码并发送信号到正确的循环和那里的计算。完成后,它会将信号发送回主循环并再次重复整个过程,直到用户输入一个特定的号码来终止程序。 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;
    }
  }

1 个答案:

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