c问题关于字符串

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:42:47
main()
{
char s[]={"12121"},i=0;
while (s[++i]!='\0')
if(s[i-1]=='1')printf ("%c",s[i]);

}
这里面的if(s[i-1]=='1')printf ("%c",s[i]);是什么意思啊?

因为++i是取i加1的值。
while()判断终止当然可以这样了。
但是if()是在终止前的一次动作。
所以要
s[i-1];
要不你改成while(s[i++]!='\0')
if(s[i]=='1')
也行