问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...输入的字符只包含字母和*号。请编写函数fun,功能是:将字符串中...

发布网友 发布时间:2024-10-24 13:05

我来回答

5个回答

热心网友 时间:2024-10-24 15:46

1、其实头函数每个都需要用到的就是#include <stdio.h>.在这儿给大家说的就是这里需要添加一个字符串函数,因为程序里面涉及到了输出和输入字符串以及字符。#include <string.h>。

2、定义两个相同容量的字符串储存的变量 char a[100];  char b[100];。以及整数变量 int c;  int i=0,j=0; 其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是你想删除第几位。j ,i 是后面for循坏中要使用到的变量。

3、 printf("请输入你的字符串");  scanf("%s",a);  printf("请输入你想要删除第几位字符");  scanf("%d",&c)。

4、 for(i=0;i<strlen(a);i++)  {       if(i+1!=c)       {        b[j]=a[i];        j++;       }                  }          printf(" %s",b);        }    。

5、  这几行代码逻辑语句是:只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。

6、最后完整的看一下整体的一个代码流程。

热心网友 时间:2024-10-24 15:53

#include<stdio.h>
#include<string.h>
char *del(char *a)
{
while (*a == '*') a++; // a是指针 *a是当前字符 如果字符是‘*’ a++表示 a指向下一个字符 然后 // 做比较 至于答案的拷贝完全多余 只需要在原串的不同位置指向就好
// 因为只是 删前导 而不动中间 或者 尾部字符

return a;
}
int main()
{
char a[100]={"*************skafjdlskjfla8********"};
char *newstr;
newstr = del(a);
printf("%s\n",a);
printf("new string :\n%s\n",newstr);
return 0;
}

热心网友 时间:2024-10-24 15:49

第一个while循环是当p指向的字符是*时进行循环,p++就是让指向字符数组的指针指向下个单元。类似对数组进行for循环遍历输出的控制循环变量i++。然后p指向下一个字符,最后让指针p指向字符数组a中第一个非*的字符。
比如a中的字符是“***a**bcd*”,那么第一个while循环后,p指向字符a中第四个字符中'a';如果a中字符是“e*bcd*”,那么第一个while循环后,p指向a中第一个字符'e'。
第一个while循环后,然后就把p位置的字符依次在往字符数组a中赋值。如果a中是“***a*bc*”,第一个while后p指向'a',所以此时就把'a'赋值给a【0】,取代了原本在a【0】中的*。然后一直循环到a中最后一个字符,最后循环完成后在末尾加上空字符'\0'。实现了去掉字符数组中首端*号的功能!

热心网友 时间:2024-10-24 15:53

第一个while(*p=='*')p++;
这个补全就是
while(*p=='*')
{
    p++;
}
就是从前面开始等于*的直接指针后移
把前面的*全部略过
while(*p)
{
    a[j++]= *p;
    p++;
}
然后从第一个不是*的开始逐位赋值给字符数组a
最后手工添加结束符

热心网友 时间:2024-10-24 15:49

#include<stdio.h>
#include<string.h>

void fun(char *str)
{
int len=(signed)strlen(str);
for(int i=0;i<len;i++)
{
if(*(str+i)=='*')
{
continue;
}
else
{
for(int j=0;j<len-i;j++)
*(str+j)=*(str+j+i);
*(str+j)='\0';
return;
}
}
}

void main()
{
char str[]={"****132sfs**wefsf**"};
fun(str);
printf("%s\n",str);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想E盘不见了怎么办? 电脑e盘不见了怎么恢复?6个步骤找回e盘 五一去河源万绿湖游玩,需要携带哪些物品? 五一假期,旅行必带的物品是什么 建行办新卡用了新手机号,旧卡就自动绑了信号 请问电磁炉热敏电阻阻值是多少 电磁炉换电阻多少钱 电磁炉配件电阻多少钱 电磁炉510K大电阻多少钱一个 更换电磁炉电阻多少钱 航站楼t代表什么 山东聊城到阳泉市火车和汽车 急急 快播如何解决闪退问题 噬人鲨、水虎鱼、西伯利亚V1无声卡版、西伯利亚5HV2无声卡版那个有性价... 从聊城到阳泉的都是几点的火车?在哪里找到的你发给我网址 cf半职业玩家的外设 山西阳泉到山东聊城坐什么车 快播如何解决闪退问题 铝矿石上面像铁矿的是什么东西? 孕妇大便频繁怎么回事 孕期大便次数增多怎么回事 孕中期有想拉屎的感觉为什么 孕中期经常大便不成形有没有事 孕晚期睡觉总是想大便正常吗 孕晚期的注意事项有哪些 孕晚期怎么老是拉大便 孕晚期老是拉大便怎么办 烧烤炉的材质是不锈钢的吗? 全国爱眼日标语(全民关注视力健康,共创美好未来) 这怎么回事,喇叭都关了一按音量键就显示免提音量,以前都是通话和媒体... 萨沙·彼伏波洛娃走红程度 最近几天心烦意乱,烦躁不安,浑身无力,头昏,为什么 神外哪个医院好 工地防护网多少钱一米 爱丽斯学园、水果篮子、樱兰高校、幸运星、草莓棉花糖用日文怎么写... 我一天之内冲了12个月黄钻,但不是一次冲的,我想知道这样开算是年钻不... N.W.A队名相关 建筑专业哪个学校最好 唯美的句子,朋友圈点赞率过万! 哪个学校建筑专业好 江苏单招建筑专业哪个学校好 辞退60岁以上的员工怎样补偿 空间超赞的人气说说 伤人的玫瑰,这个歌是谁源唱的他的名字叫什么 求拥抱(xxx)的半命题作文作文 灌木称糖果的植物学名叫啥,果子用来泡酒很甜 我的联想台式电脑玩LOL怎么好卡,网速没问题 是不是电脑配置问题?求电 ... ipo上会是什么 ipo上会什么意思 ipo上会是什么意思 ipo上会指的是什么 话剧《杜拉拉》杭州站票房 ...以高中话剧的形式表演出来 不要像小学生的那种