c语言改错题(急)!!!

来源:百度知道 编辑:UC知道 时间:2024/07/03 10:25:43
#include<stdio.h>
void fun(char*p,char*b)
{
int i, k=0;
while(*p)
{
i=1;
while(i<3||*p)
{
b[k] = *p;
k++;p++;i++;
}
if(*p)
{
b[k] = ' ';
}
}
b[k] = "\0";
}
main()
{
char a[80],b[80];
printf(Enter a string:); gets(a);
printf("The origined string:"); puts(a);
fun(a,b);
printf("\nThe string after insert space:");
}

b[k]="\0"; 不是双引号是单引号
main()中没有返回值 要么前面加void 要么在结尾加return 0;
再者main()中得 printf(Enter a string:) 没有加引号

修正后:
#include<stdio.h>
void fun(char*p,char*b)
{
int i, k=0;
while(*p)
{
i=1;
while(i<3||*p)
{
b[k] = *p;
k++;p++;i++;
}
if(*p)
{
b[k] = ' ';
}
}
b[k] = '\0';
}
main()
{
char a[80],b[80];
printf("Enter a string:");
gets(a);
printf("The origined string:");
puts(a);
fun(a,b);
printf("\nThe string after insert space:\n");
return 0;
}

PS:我在printf("\nThe string after insert space:\n");加了一个回车 方便观看 如果不需要可以移除. 希望对你有所帮助.

倒数第三个printf里面都没有打引号啊