在这个程序中我必须生成一个随机数,然后,如果数目为1我必须存储绿色变色,如果它是0 I具有存储红色,然后打印出结果串不打印
#include<stdio.h>
#include<time.h>
int main()
{
int rn;
rn=Switch();
Display(rn);
return 0;
}
int Switch()
{
int rn;
srand(time(NULL));
rn=rand()%2;
return rn;
}
int Display(int rn)
{
char colour[5];
if (rn==1)
{
colour[5]="green";
}
else
{
colour[5]="red";
}
printf("Random number : %d\nColour : %c",rn,colour);
}
但是,当我运行该程序时,它会打印随机数并且不会打印颜色。
您打印字符串转换为数组的第五个字符(它不是数组的一部分...)。 (小心那些鼻子恶魔。)你的阵列也会变小。 –
您需要编译时启用警告('-Wall' for gcc/clang),然后修复所有警告。 – user3386109
@KamiKaze我应该怎么做呢? –