/*之前学习了使用“scanf("%s")”输入字符串
但却不能在本题中使用它,
因为它碰到空格 或者TAB就会停下来*/
#include<cstdio>
int main()
{
int c, q = 1;/*第一种方法是使用“fgetc(fin)”,
它读取一个打开的文件fin,读取一个字符,然后返回一 个int值。
为什么返回的是int而不是char呢?因为如果文件结束,
fgetc将返回一个特殊标记 EOF,它并不是一个char。
如果把fgetc(fin)的返回值强制转换为char,
将无法把特殊的EOF和 普通字符区分开。
如果要从标准输入读取一个字符,可以用getchar,
它等价于fgetc(stdin)。*/
while((c = getchar()) !=EOF)/*
EOF是指end of file,这里是已经没有内容输入了,
才会返回这个值(-1),这时候才会退出循环。
一般情况下是要某个组合键才能表示输入结束的,
否则一直都是输入一个字符(一般都是>0),所以这种情况下,循环都会继续。
如果取消 !=EOF,那getchar()如果是从键盘输入内容,
是无法输入'\0'的,那这种情况,应该是永远都不会退出循环的。*/
{
if(c == '"')
{
printf("%s", q ? "``" : "''");
q = !q;
}
else printf("%c", c);
}
return 0;
}