C不能只循环一次

时间:2015-10-02 15:27:35

标签: c loops

代码在这里:

    #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

问题是为什么循环只有一次。

1 个答案:

答案 0 :(得分: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;
}