#include<stdio.h>
void abc(char *str)
{int a,b;
for(a=b=0;str[a]!='\0';a++)
if(str[a]!='c')
str[b++]=str[a];
str[b]='\0';}
void main()
{char str[]="abcdef";
abc(str);
printf("str[]="%d",str);}
请问各位大哥str再这里是什么作用,最后输出的值是多少?谢了!!
要注意~ “str[b++]=str[a]; str[b]='\0';}着一步是用来做什么的?”
这不是一步,前者是归if语句管,如果sta[a]=='c'的话,那它将不被执行。后者没人管,不管是abcdefg都会被执行一次。两个语句不一定会被同时执行~这点要注意。
void abc(char *str) { int a,b; for(a=b=0;str[a]!='\0';a++) if(str[a]!='c') str[b++]=str[a]; str[b]='\0'; }