C言語1日目です。これからもよろしく。

#include <stdio.h>

int main()
{
puts("\x1b[0;1;33m信号が黄色で表示します");
red();
blue();
puts("\x1b[0m表示を既定の属性に戻しました");

return 0;
}


void red(void)
{
puts("\x1b[0;1;31m赤です");
}

void blue(void)
{
puts("\x1b[0;1;34m青に変わりました");
}

これをgccでコンパイルすると
example003.c:15: warning: type mismatch with previous implicit declaration
example003.c:6: warning: previous implicit declaration of `red'
example003.c:15: warning: `red' was previously implicitly declared to return `int'
example003.c:20: warning: type mismatch with previous implicit declaration
example003.c:7: warning: previous implicit declaration of `blue'
example003.c:20: warning: `blue' was previously implicitly declared to return `int'
と出るのですがどういけないのでしょうか。
書籍のを丸写しのはずいなんですが…。