C语言:随机颜色组合的循环文本

C Language: Loop Text with Random Color Combination

以下测试失败,因为 "system("color #code);" 需要是静态的。 例如:-

system("color 0F"); 有效。

system("color %d %d",a, b); 没有。

完整代码:

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>

int main() 
{
char R[15]={'1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

    while(1)
    {
    srand(time(NULL));
    int Ra = rand() %10 + 6;
    int Rb = rand() %10 + 6;

    system("color %c%c",R[Ra], R[Rb]);  

    printf("Hello world!");
    system("cls");
    };

return 0;
}

我如何让它工作?有没有更好的方法?

system() 不接受格式化字​​符串。

试试这个:

int main(void){

    char R[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

    srand(time(NULL));
    char color_string[20];

    while(1) {

        int Ra = rand() %16;
        int Rb = rand() %16;

        sprintf(color_string, "color %c%c", R[Ra], R[Rb]);
        system(color_string);  

        printf("Hello world!");
        system("cls");
    };

    return 0;
}

With getch()(按要求,但不标准):

while( getch() != 27) {

    system("cls");

    int Ra = rand() %16;
    int Rb = rand() %16;

    sprintf(color_string, "color %c%c", R[Ra], R[Rb]);

    system(color_string);  

    printf("Hello world!");
};