以下是完善后的程序:
main () {
char s1[80], s2[80], *p=s1;
int cnt=0, k=0;
while(*p!='\0'){
s2[k]=*p;
k++;
p++;
cnt++;
if (cnt==3) {
s2[k]='*';
k++;
cnt=0;
}
}
s2[k]='\0';
puts(s2);
}
在这段程序中,我们使用了一个指针 p
来遍历字符串 s1
。每次遍历到一个字符时,就将其存放在字符串 s2
中,同时计数器 cnt
加 1。如果 cnt
的值为 3,则在字符串 s2
中存放一个星号,并将计数器 cnt
置为 0。最后,在字符串 s2
的末尾添加一个空字符,并使用 puts
函数输出字符串 s2
。