不明白的一个小疑点 求解。

不明白的一个小问题 求解。。。。
下面是一个教程的问题。 有些地方不懂,求解:
       编写一个能够产生下列输出的程序:
Smile!Smile!Smile!
Smile!Smile!
Smile!

在程序中定义一个能显示字符串smile!一次的函数,并在需要时使用该函数。
 

首先  ,我问题都没搞太懂。不明白的一个小疑点 求解。
于是我在网上搜了有关的代码。并自己试着敲敲。结果被毙了。

#include <stdio.h>
int main(void)
{
    char s[30];
    s="Smile!"
    printf("%s%s%s\n");
    printf("%s%s\n");
    printf("%s\n");
return 0;
}

可能是第一行错误  或者定义类型错了。
所以请大神 帮忙解答。自己的代码  错误之处并列出正确的。。最好有注释。不明白的一个小疑点 求解。
因为我发现没有注释很难看懂。。。
------解决方案--------------------
我勒个去,不明白的一个小疑点 求解。
#include <stdio.h>
int main(void)
{
    char s[30]="Smile!";
    printf("%s%s%s\n",s,s,s);
    printf("%s%s\n",s,s);
    printf("%s\n",s);
return 0;
}
------解决方案--------------------

#include <stdio.h>
int main(void)
{
  char s[30]="Smile!";
      printf("%s%s%s\n", s, s, s);
    printf("%s%s\n", s, s);
    printf("%s\n", s);
    return 0;
}