C语言:下面程序的功能是将字符串5中所有的字符c删除。请选择填空
下面程序的功能是将字符串5中所有的字符c删除。请选择填空。main(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!='\0';i++...
下面程序的功能是将字符串5中所有的字符c删除。请选择填空。
main()
{ char s[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c') 【1】
puts(s); }
【1】 A) s[j++]=s[i] B) s[++j]=s[i]; C) s[j]=s[i];j++; D)s[j]=s[i]; 展开
main()
{ char s[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c') 【1】
puts(s); }
【1】 A) s[j++]=s[i] B) s[++j]=s[i]; C) s[j]=s[i];j++; D)s[j]=s[i]; 展开
3个回答
展开全部
选A,不过puts(s);前应加上s[j]='\0';
即完整的代码是:
main()
{
char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')
s[j++]=s[i];
s[j]='\0';
puts(s);
}
即完整的代码是:
main()
{
char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')
s[j++]=s[i];
s[j]='\0';
puts(s);
}
更多追问追答
追问
我想请问一下B哪里错了
追答
++j是j先加1后再赋值,即从下标1开始赋值。如果原下标0位置为字母c,则这个c不会删除。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询