3 回答

TA貢獻1883條經(jīng)驗 獲得超3個贊
何止三個錯啊,真佩服你,差不多每2行就有一個錯誤。一一指出實在太累了,直接給你正確的程序吧。
#include"stdio.h"
#include"string.h"
#include "ctype.h"
void delspace(char *str);
main()
{
char s[81]="a b c d e f g";
delspace(s);
puts(s);
}
void delspace(char*str)
{
int i,t;
char ts[81];
for(i=0,t=0;str[i]!='\0';i++)
if(!isspace(*(str+i))) ts[t++]=str[i];
ts[t]='\0';
strcpy(str,ts);
}

TA貢獻1797條經(jīng)驗 獲得超6個贊
錯誤1: 函數(shù)參數(shù)傳遞錯誤
delspace(s[]); 修改為 delspace(s);
錯誤2:基本語法錯誤
if(isspace(*(str+i)) 修改為 if(isspace(*(str+i))), 這里少一個括弧
錯誤3:邏輯錯誤
if(isspace(*(str+i))) 修改 if(!isspace(*(str+i)))
這里是要把非空格填寫如ts中。
錯誤4:函數(shù)參數(shù)傳遞錯誤
strcpy(*str,ts); 修改為 strcpy(str,ts);

TA貢獻1785條經(jīng)驗 獲得超4個贊
main() 函數(shù)下面的 } 變成了) main()里 delespace(s[]) 把[]去掉 puts() 改為puts(s);..
- 3 回答
- 0 關注
- 343 瀏覽
添加回答
舉報