不同平台中,long int 的大小
//C语言标准规定了
//sizeof(long) >= sizeof(int)
// 4 4
// 8 4
//long double double
认识EOF
EOF------end of file
#define EOF (-1)
在函数读取失败的时候返回了EOF
//scanf 函数读取成功,返回的是读取到的数据的个数
读取失败返回EOF
//getchar 读取成功返回字符的ASCII码值
读取失败返回EOF
//ctrl+Z - 会让scanf 或者 getchar 返回EOF
注:getchar()、putchar()表示输入输出单个字符
int main()
{
//123456
char password[20] = {0};
printf("请输入密码:>");
scanf("%s", password);//123456
printf("请确认密码(Y/N):");
char input = 0;
//scanf("%c", &input);//Y
//把\n处理掉
//getchar();//\n
//清理掉缓冲区中剩余的数据
/*while (getchar() != '\n')
{
;
}*/
//清空缓冲区
//fflush(stdin);//达不到效果,因为在新版本的VS上这个函数的功能被取消了
input = getchar();
if ('Y' == input)
printf("确认成功\n");
else
printf("确认失败\n");
return 0;
}
注意:scanf只读空格前的数据
vs2019
用变量 x 接收scanf()函数的返回值,并显示在屏幕上
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a;
int b;
int c;
printf("请输入3个整数:");
int x = scanf("%d%d%d", &a,&b,&c);
printf("%d\n",x);
return 0;
}
- 1.scanf()函数有返回值且为int型。
- 2.scanf()函数返回的值为:正确按指定格式输入变量的个数,即能正确接收到值的变量个数。
运行代码,输入三个整数:5 6 7,则x的值为3;
如果输入5 6 d(即给c 赋值不正确)则x的值为2;
如果输入5 t d(即给b和c 赋值不正确)则x的值为1;
如果输入# 10 20 ,当scanf函数的第一个变量格式不正确时返回值为0即,当scanf函数的第n个变量格式不正确时,返回值为n-1。
如果在scanf的时候,在终端输入ctrl+z(VS2019 连续3次),那么scanf的返回值将是-1,即EOF。