#includestdio.h
10年積累的成都網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有嶗山免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
#includestring.h
#define MAX 80
void delechar(char str[],char a)
{
int i=0,j;
while(str[i]!='\0')
{
if(str[i]==a)
{
for(j=i;str[j]!=0;j++)
{
str[j]=str[j+1];
}
}
i++;
}
}
int main(void)
{
int i;
char a,str[MAX];
gets(str);
scanf("%c",a);
delechar(str,a);
puts(str);
return 0;
}
把你注釋//刪除第一個節(jié)點的那一句改為:
if(!pre)head=p-next;
應(yīng)該就好了。
如果還不行請留言。
s[i]'0' || s[i]'9'的意思是s[i]這個字符不是'0'~'9'之內(nèi)的字符,即非數(shù)字字符。
你這個dele函數(shù)的意思是剔除字符串里的數(shù)字字符,那么判斷為非數(shù)字字符時,把s[i]放入s[n]。
字符’\0'是字符串結(jié)束符,有了它才能用printf的%s來輸出這個字符串的有效內(nèi)容,’\0'的ascii碼值就是0,所以s[n]=0等同于s[n]='\0'。
isdigit判斷一個字符是不是數(shù)字字符,邏輯就是你上面問的s[i]='0's[i]='9'。那么if(!isdigit(s[i]))的意思是如果s[i]不是數(shù)字字符的意思,等同于if(s[i]'0' || s[i]'9')