C语言的返回值问题
C语言的返回值问题
求解释:scanf(),gets(),getchar()以及其他函数的返回值。
不懂,谁能解释一下
十分感谢!
[解决办法]
scanf的返回值
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
其他的函数与之类似
[解决办法]
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
gets()读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
getchar函数的返回值是用户输入的第一个字符的ASCII码
[解决办法]
scanf() 返回 读取成功或者失败,成功返回的是接受了几个值,失败一般-1。
gets() 返回标准IO流buffer的一行(遇到\n)字符串。
getchar() 返回标准IO流buffer中的第一个字符。
[解决办法]
scanf() 返回 读取成功或者失败。成功返回的是接受了几个值,失败返回-1。
gets() 返回标准IO流buffer的一行(遇到\n)字符串。
getchar() 返回标准IO流buffer中的第一个字符。
[解决办法]
用时 google,或备一本 手册
[解决办法]
scanf
语法:
#include <stdio.h>
int scanf( const char *format, ... );
scanf()的返回值是成功赋值的变量数量, 发生错误时返回EOF.
gets
语法:
#include <stdio.h>
char *gets( char *str );
gets()函数从STDIN(标准输入)读取字符并把它们加载到str(字符串)里,直到遇到新行(\n)或到达EOF. 新行字符翻译为一个null中断符. gets()的返回值是读入的字符串,如果错误返回NULL.
getchar
语法:
#include <stdio.h>
int getchar( void );
getchar()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF.
[解决办法]