u010295319 2014-03-04 13:26
浏览 3054

函数实现删除多余空格(输出中每个单词后面只允许一个空格出现)

小弟新程序员一枚,面对程序出现的错误一筹莫展,求大神们给予指点。
#include
#include
#include

void debank(char string[]);//声明一个函数--实现删除多于空格(如果一个词后面有空格那么只有一个将多余的删除)

int main(void)
{
char *string;
string = (char *)malloc(sizeof(char)*100);
scanf("%[^\n]",string);
debank(string);//调用函数
free(string);//这个free是否多有,请大神给出一个解释

return 0;

}

void debank(char string)
{
int i = 0;//用来遍历输入的字符串
int j = 0;//用来遍历删除空格后输出的字符串
int len = strlen(string);
char
output;
output = (char*)malloc(sizeof(char)*(len+1));
for (i; i < len -1; )
{
if (string[i] != '\0' && string[i] != ' ')//该字符(a处)不是空格的处理
{
output[i] = string[i];
++i;
++j;
}
else//该字符(a处)是空格的处理
{
if(string[i] != '\0' && string[i] != ' ')//该字符(a处)是空格的处理,但(a处)后面字符不是空格
{
output[i] = string[i];
++i;
++j;
}
else//该字符(a处)是空格,且后面也是空格
{
++i;
}
}
}//for
puts(output);
free(output);
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
    • ¥20 matlab yalmip kkt 双层优化问题
    • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
    • ¥88 实在没有想法,需要个思路
    • ¥15 MATLAB报错输入参数太多