2015-10-02 8 views
-1

код здесь:C не может цикл только один раз

#include <stdio.h> 
    #define ROWS 6 
    #define CHARS 10 
    int main(void) 
    { 
     int row; 
     char ch; 

     for(row = 0; row < ROWS; row++) 
     { 
      printf("%d\n", row); 
      for(ch = 'A'; ch < ('A' + CHARS); ch++) 
       printf("%c", ch); 
      printf('\n'); 
     } 
     getchar(); 
     return 0; 
    } 

выход здесь:

0 
ABCDEF 

я думаю, что выход аналогично, как это:

0 
ABCDEF 
1 
ABCDEF 
2 
ABCDEF 
3 
ABCDEF 
4 
ABCDEF 
5 
ABCDEF 

вопрос, почему петля только один раз.

+3

И вопрос в том, что ?? – Olaf

ответ

3

"ABCDEF" содержит 6 символов, так что вам нужно изменить

#define CHARS 10 

в

#define CHARS 6 

Кроме того, printf принимает строку, так что вы должны использовать "\n" вместо '\n'.

#include <stdio.h> 
#define ROWS 6 
#define CHARS 6 
int main(void) 
{ 
    int row; 
    char ch; 

    for(row = 0; row < ROWS; row++) 
    { 
     printf("%d\n", row); 
     for(ch = 'A'; ch < ('A' + CHARS); ch++) 
      printf("%c", ch); 
     printf("\n"); // Should use double quotes here 
    } 
    getchar(); 
    return 0; 
} 
+0

спасибо, мне нужно место, чтобы думать о моей жизни. – tiw

+0

@tiw конечно, без проблем. Если это помогает, вы должны принять ответ. – jh314

Смежные вопросы