MockerOvO 2022-06-09 17:33 采纳率: 89.9%
浏览 23
已结题

前两个while里面的条件可以直接比较?while (k<h)和while(k<p),其中h和p指向的位置比k指向首地址的偏移量大,但是直接这样比较没有问题吗?

除了字符串前导和尾部的号外,将串中其他的号全部删除。
#include <stdio.h>
#include <conio.h>

void fun( char *a, char *h,char *p )
{
int i=0;
char *k=a;

while (k<h)
{
    a[i]=*k; 
    k++; 
    i++; 
}

while(k<p)
{
    if(*k!='*')
{
        a[i]=*k; 
        i++; 
}
    k++; 
}

while (*k)
{
    a[i]=*k; 
    i++; 
    k++; 
}
a[i]='\0'; 

}

main()
{ char s[81],*t, *f;
int i,j;
printf("Enter a string:\n");
gets(s);
t=f=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);
}

  • 写回答

1条回答 默认 最新

  • 浪客 2022-06-09 17:50
    关注
    
    t=f=s;
    t,f,s都指向同一个字符串。
    因此fun中a,h,p也是指向同一个字符串,while (k<h)while(k<p)可以比较,
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 修改了问题 6月9日
  • 修改了问题 6月9日
  • 展开全部

悬赏问题

  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?