UVa10340 ALL IN ALL AC

#include "stdio.h"
#include "string.h"
char a[100000],c;
void main()
{
	while (scanf("%s%*c",a)!=EOF)
	{
		int i=0;
		memset(a,0,sizeof(a));
		while(scanf("%c",&c)&&c-10)///尽量不要让scanf去读回车
		{
			if(c==a[i]) 
				i++;
		}
		puts((a[i])?"No":"Yes");
	}
}

有几个关于VS2010的疑问?

1.

while(scanf("%c",&c)&&c-10)///尽量不要让scanf去读回车
		
			if(c==a[i]) 
				i++;
		
		puts((a[i])?"No":"Yes");

为什么去掉大括号后,能运行puts

2.
  

while(scanf("%c",&c)!=EOF)///尽量不要让scanf去读回车
		{
			if(c==a[i]) 
				i++;
		}
		puts((a[i])?"No":"Yes");
为什么判断改为EOF不正确



你可能感兴趣的:(UVa10340 ALL IN ALL AC)