C 程序示例

C program example

void main()
{
    int a,b;

    for(a=10; a < 20; a++ ) 
    {   
        printf("value of a: %d", a);
        for(b=2; b<a; b++) 
        {  
            if(a%b==0)
            { 
                printf(" hello \n");
            }
            else
            {
                break;    
            }               
        }
    }
    getch();   
}

在上面的代码中,(我知道这完全是无稽之谈,但作为初学者,我只是想清除一些要点)输出是这样的:

value of a: 10 hello 
value of a: 11value of a: 12 hello 
 hello 
 hello 
value of a: 13value of a: 14 hello 
value of a: 15value of a: 16 hello 
value of a: 17value of a: 18 hello 
 hello 
value of a: 19

所以我想在 a % b == 0 时打印 hello 这个词 所以当 a == 12 为什么 "hello" 打印三次?

其次,如何添加换行符('\n')并编辑代码,以便获得如下输出:

value of a : 10 hello
value of b : 11
value of c : 12 hello
value of d : 13
...

等等...

当a=12时,为什么“hello”打印了三次?

a12时,b2开始,b的下一个值为34, 和 5.

12%2 == 0 therefore "Hello"
12%3 == 0 therefore "Hello"
12%4 == 0 therefore "Hello"
12%5 is NOT 0 therefore, break;

这就是为什么您连续 3 次看到 "hello"

Hello 打印了 3 次表示 12,因为 12 可以被 2,3 和 4 整除。一旦检查 5 就跳出循环。如果你只想为第一个因素打印 hello 使用这个:

  if(a%b==0)
  { 
      printf(" hello \n");
      break;
  }

在 else 情况下不需要中断。

根据您提供的规格,像这样就足够了:

#include <stdio.h>

int main() {
    int a, b = 2;

    for (a = 10; a < 20; a++)
    {
        printf("\nvalue of a: %d", a);
        if (a % b == 0) {
            printf(" hello");
        }
    }
    getch();
}

Sample code

int main() { 
   int a,b; 
   for(a=10; a < 20; a++ ) { 
         printf("value of a: %d", a); 
         for(b=2; b<a; b++) { 
               if(a%b==0) { 
                    printf(" hello \n"); 
                } 
          } 
          printf("\n");
     } 
    return 0;
}

12%2==0 , 12%3==0 和 12%4==0 这就是 hello 被打印两次的原因。希望你正在寻找这个。