字符输出函数putchar
int putchar(int c)
函数参数:c为字符常量或表达式
函数返回值:输出的字符
函数功能:在标准输出上显示一个字符
格式化输出函数printf
int printf (const char *format, …),成功返回输出的字节数,失败返回-1(EOF)
字符输入函数getchar
int getchar(void)
返回值的含义是存储从键盘上读取的字符,返回值的类型确是int,而不是char
int main()
{
int ch;
printf("Enter a character:");
while ((ch = getchar()) != EOF)
printf ("%c--->%#x\n", ch, ch);
printf ("end main\n");
return 0;
}
格式化输入函数scanf
int scanf (const char *format, …),成功返回输入的变量的个数,失败返回-1(EOF)
输入数据时,遇到以下情况认为该数据结束:
- 空格、TAB或回车
- 宽度结束
- 非法输入
非法输入,比如:程序需要输入一个浮点数,用户输入的是字母,这就属性非法输入
返回值是成功输入的变量的个数,当遇到非法输入时,返回值会小于实际变量个数
int main()
{
int a, b, n;
printf("input numbers:");
while ((n = scanf("%d%d", &a, &b)) == 2)
{
printf("a=%d, b=%d\n", a, b);
printf("input numbers:");
}
printf("n=%d\n", n);
return 0;
}
字符串输入输出函数
1.字符串输出函数 puts
int puts(const char *s),在标准输出上显示字符串s,成功返回一个非0的数字;失败返回-1或EOF
int main()
{
char s[]="welcome";
puts(s);
return 0;
}
2.字符串输入函数gets
char *gets(char *s)
功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0'
成功返回字符数组的起始地址,失败或输入结束返回NULL。
#define N 20
int main()
{
int i = 0;
char s[N] = {0};
printf(">");
while (gets(s) != NULL)
{
printf(">");
// scanf("%s", s);
printf("i = %d :%s\n", i, s);
i++;
}
printf("end main\n");
return 0;
}
gets函数的参数中,不含长度控制。当输入字符时,最多只能输入N-1(留一个位置存字符串的 结束符\0)。假如输入字符超过了N-1,则多余的符号也会被存到字符数组中,这样就会造成内 存的访问越界,结果是不可预料的。所以,使用此函数时,会有警告。我们在使用该函数时, 一定要注意数组的长度。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。