题目:在tex中,有做双引号和右双引号,你的任务是把他转化成tex的格式。
特点:边读边处理,不需要把输入字符串完整保留下来。

#include<stdio.h>
int main(){
	int c,q=1;
	while((c = getchar())!=EOF){
		if(c=='"')  {
			printf("%s",q?"''");
			q = !q;
		}
		else  printf("%c",c);
	}
	return 0;
}

思路:本题的关键是如何判断一个双引号是左双引号还是右双引号。使用一个标志变量即可。
但字符串的输入如何解决呢?

scanf("%s")

使用此函数进行输入时,碰到空格和tab就会停下。虽然下次调用会输入到下一个字符串,可是不知道两次输入的字符串之间有多少个空格,tab甚至是换行键。
那么第一种方法是fgetc(fin)读取一个打开的文件fin,读取一个字符,返回一个int 值。
你可能会问,为什么不会char呢?因为文件结束后,fgetc将返回一个特殊标记的EOF,他并不是一个char。如果是char,那么怎么区分哩!所以一般在检查他不是EOF后再将其转换为char值。从标准输入读取一个字符可以用getchar。等价于fgetc(stdin).
或者是fgets(buf,maxn,fin)读取完整的一行放在字符数组buf中,所以buf应该是足够大的,除了在文件结束前没遇见\n这种情况,buf总是以\n结尾。一个字符都没有读到时,fgets返回HULL。