亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下面內容通過調用函數trimspace(),實現去掉字符串的前空格和尾空格,請問哪里錯了呀?

下面內容通過調用函數trimspace(),實現去掉字符串的前空格和尾空格,請問哪里錯了呀?

神不在的星期二 2021-12-05 10:06:55
#include<string.h>main(){char str[100];void trimspace(char *);gets(str);trimspace(str);puts(str);}/*------------Found Mistake Below------------*/void trimspace(char *p){char *q;if(*p!='\0')q=strlen(p);elsereturn;/*------------Found Mistake Below------------*/for(;*q==' ';q--);*q='\0';for(q=p;*q==' ';q++);strcpy(p,q);return;}
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

#include <stdio.h>
#include <stdlib.h> //頭文件別忘了加
#include <string.h>

void trimspace(char *);// 函數聲明放在main函數上面

int main(void)//main函數最好有返回值
{
char str[100];
scanf("%s",str);//gets 函數不要使用,已經是作廢的函數了,很危險
trimspace(str);
puts(str);
return 0;
}

void trimspace(char *p)
{
char *q;
if(*p!='\0')
q=p+strlen(p);//指針+偏移量
else
return;
for(;*q==' ';q--);
*q='\0';
for(q=p;*q==' ';q++);
strcpy(p,q);//最好用strncpy,此處你自己改吧
return;
}

我給你修改好了,我在linux gcc環境跑過了,一個警告都沒有報 你試試吧



查看完整回答
反對 回復 2021-12-07
  • 1 回答
  • 0 關注
  • 301 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號