在這個程序中我必須生成一個隨機數,然後,如果數目爲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我應該怎麼做呢? –