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!");
};
以下测试失败,因为 "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!");
};