bxt0058 2013-09-13 15:30 采纳率: 0%
浏览 1889
已采纳

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) ;
}

  • 写回答

2条回答

  • 迷路的指南针 2013-09-14 03:30
    关注

    这代码没看懂,以上代码是正确的代码还是你自己写的,然后希望别人指导?如果是正确的代码在fun()函数中a定义为char类型,为什么后面会有a[i],我记得当初学C的时候没有这样使用的?是我没学好?求大神指导。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。