scanf、字符以及字符串操作疑问
对于字符的输入输出函数有:
getchar();
putchar();
对于字符串的输入输出函数有:
gets();
puts();
而scanf函数提供了输入的功能,printf提供了输出的功能。在我看来,ch=getchar()可以用scanf("%c",&ch)来替换,putchar()可以用printf("%c",ch)来替换;gets()和puts()也是如此。所以我认为,ch=getchar()与scanf("%c",&ch)是等价的,putchar()和printf("%c",ch)是等价的,gets(name)与scanf("%s",name)是等价的,puts(name)和printf("%s",name)是等价的。
但是在编程中发现,事实不是这样的。有时候getchar()和scanf要同时使用,否则运行结果就会出现奇怪的现象,gets()也是如此。
想不通,实在是想不通。真心希望哪位大侠能够指点迷津,这几个函数究竟应该怎么使用?它们之间究竟存在什么区别?低层机制到底是什么?热切期待这些问题被彻底解决。小弟将不胜感激。
[解决办法]