新手,想问问这两者执行为什么有差异
#include<stdio.h>#include<conio.h>
void fun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!='\0';i++)
if(s[j]>='0' && s[i]<='9')
s[j++]=s[i];
s[j]='\0';
}
main()
{char item[80];
gets(item);
fun(item);
puts(item);}
这是原代码,功能是将输入的字符串里的数字字符单独放在一个数组里并且输出。
问题是:
我觉得这样写感觉也对,但是为什么运行出来输出是原封不动的输出呢
for(i=0,j=0;s[i]!='\0';i++,j++)
if(s[j]>='0' && s[i]<='9')
s[j]=s[i];
求助,if语句里面j++和if语句结束后再j++有什么影响吗?