这个c语言自定义函数的我没看懂,不知道i,j 都代表什么?str[i]!='\0'和 str[j++]=str[i]; 是什么意思?
#include"stdio.h"voidenter_string(charstr[],charch){inti,j;for(i=j=0;str[i]!='\0';i++...
#include"stdio.h"
void enter_string(char str[],char ch)
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(srt[i]!=ch)
str[j++]=str[i];
srr[j]='\0';
} 展开
void enter_string(char str[],char ch)
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(srt[i]!=ch)
str[j++]=str[i];
srr[j]='\0';
} 展开
5个回答
展开全部
int i,j;
定义i,j为整型数据,在for 循环i=j=0里面设置其初始值为0;
str[i]!='\0' 如果没有到字符串结尾
下面if再判读str的第i个字符是否等于ch,
如果不等于就把str的第i个字符赋值给str的第j++ 个字符否则就把str的第0个字符赋值为'\0'即字符结尾。
作用:发现字符串中如果含有指定字符就从截断
enter_string("abc",'a')
结果就是abc字符串就成了空白了。
enter_string("abc",'b')
结果就是abc字符串就成了a。
定义i,j为整型数据,在for 循环i=j=0里面设置其初始值为0;
str[i]!='\0' 如果没有到字符串结尾
下面if再判读str的第i个字符是否等于ch,
如果不等于就把str的第i个字符赋值给str的第j++ 个字符否则就把str的第0个字符赋值为'\0'即字符结尾。
作用:发现字符串中如果含有指定字符就从截断
enter_string("abc",'a')
结果就是abc字符串就成了空白了。
enter_string("abc",'b')
结果就是abc字符串就成了a。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串str和字符ch都是函数的接收参数,i、j是计数器初始为0,循环条件是str数组不结束('\0'是字符串的结束标志),每循环一次i递增1,也就是看字符串的下一个字符,当它不是ch的时候,就进行赋值。我认为这当中srt和srr打错了,或者有语句缺漏,任何变量都是不能不声明就使用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str[i]!='\0'是判断句 表示如果i的值不等于字符\0,那么i++.
str[j++]=str[i]; 代表把i的值赋给str[j+1]
str[j++]=str[i]; 代表把i的值赋给str[j+1]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用循环去掉str中所有为ch的字符,程序中有点错,不是srt[i]!=ch,而是str[i]!=ch
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询