C语言菜鸟一个小小问题
本人最近刚开始学C语言,有点一头雾水的感觉,关于那个 printf() 与putchar() scanf()与getchar()它们之间有什么区别、有什么联系呀?望大神们给小弟指点迷津,小弟在此先谢了!
[解决办法]
printf()和putchar,scanf和getchar()的一个最明显区别在于,printf()除了可以输出单个字符之外,还可以为该字符的输出规定一些格式(这也是为什么printf()和scanf()这两个I/O函数被称为格式化输出、输入函数的原因)。例如:
用printf("%c\n", 'h');,你可以输出字母h(这里的h是一个字符常量,当然h所在的位置也可以是字符变量),但屏幕上的光标会移动到下一行(以为有了\n这个具有换行功能的转义字符)。而putchar('h');只能一行之中输出字母h,而无法给它规定任何输出格式。要实现输出后换行的效果,就要再写一个putchar('\n');才能实现。
假设a是一个字符变量,用scanf("%c\t", &a); 就表示要求用户除了从键盘上输入一个字符之外还要再按下一个TAB键,然后按Enter键才能成功完成输入。而getchar();没有这样的规定,只用输入一个字母然后按下Enter键就可以完成输入。
printf()和scanf()能完成的输出、输入功能很多很多,总体比putchar()和getchar()要强大多了。建议像楼上各位提出的那样,多看看相关参考资料。