程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言字符串的處理問題不懂

c語言-C語言字符串的處理問題不懂

編輯:編程綜合問答
C語言字符串的處理問題不懂

去除字符串中間的*號列如:******ab***cdf**rty*******去除中間的*號字符串變為:******abcdfrty*******
程序如下:
#include
void fun( char a, char *h,char *p )
{
char *q = a;//是把a的首地址給*q嗎?
int i = 0;
while(q < h)
{
a[i] = *q;
i++;
q++;
}
while(q < p)
{
if(*q!='
')
{
a[i] = *q;
i++;
}
q++;
}
while(*q)//這個*q裡邊存放的什麼?這個循環是什麼意思?
{
a[i] = *q;
i++;
q++;//上邊的h一到字符串的結尾q++指向下一個地址,可還有下一個地址嗎?
}
a[i] = '\0';
}

main()
{ char s[81],*t, f;
void NONO ( );
printf("Enter a string:\n");gets(s);
t=f=s;
while(*t)t++;
t--;
while(*t=='
')t--;
while(*f=='*')f++;
fun( s , f,t );
printf("The string after deleted:\n");puts(s);
NONO();
}
void NONO()
{/* 本函數用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。 /
FILE *in, *out ;
int i ; char s[81], *t, *f ;
in = fopen("in.dat","r") ;
out = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(in, "%s", s) ;
t=f=s;
while(*t)t++;
t--;
while(*t=='
')t--;
while(*f=='*')f++;
fun(s, f, t);
fprintf(out, "%s\n", s) ;

}
fclose(in) ;
fclose(out) ;
}

最佳回答:


這代碼沒看懂,以上代碼是正確的代碼還是你自己寫的,然後希望別人指導?如果是正確的代碼在fun()函數中a定義為char類型,為什麼後面會有a[i],我記得當初學C的時候沒有這樣使用的?是我沒學好?求大神指導。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved