[求助]一道简单的指针题
#include<stdio.h>main()
{
char *s,c[80];
s=c;
gets(s);
while((*(++s))!='\0')
if(*s=='a') break;
else
{s++;gets(s);}
puts(s);
}
这个程序什么意思?
还有为什么这里puts(s);=printf("%s",s);而不是("%s",*s) 不是s是地址吗?
这个程序什么意思?
还有为什么这里puts(s);=printf("%s",s);而不是("%s",*s) 不是s是地址吗?
输入 apple 刚开始循环中的++s已经跳过apple的第一个字符a(既根本没有处理到a)此时if语句不成立,输入cat.此时的s已经指向c了,同样的道理,它会跳过c此时而直接处理字符a(此时s指向'a'),而结束循环,当然输出是at了.