目录
一、EOF 是文件结束的标志
EOF 本质上是 “-1”
int main() { int a = 0; int b = 0; int ret = scanf("%d %d", &a, &b); printf("ret=%d\n", ret); printf("a=%d\n", a); printf("b=%d\n",b); return 0; }
在此函数中,若a b均有数字输入,如输入2 3,此时读取正常,返回的是读取到的数据的个数。如下图:
但若没有数字输入时,scanf函数读取失败,此时会返回EOF,如下图:
(理论上讲,一个人Ctrl z 就能使编译器停下来,这里输出三个Ctrl z是vs的bug)
二、结构体(自定义类型之一)
C语言的内置类型
char \ short \ int \ long \ long long \ float \ double
关键字:struct
假设想描述一个学生:名字+性别+年龄
//定义一个学生类型
struct stu
{
char name[20];
char sex[5];
int age;
};
//不需要返回类型void
void Print(struct stu* ps)
//struct* 是结构体指针 ps是指针变量
{
//printf("%s %s %d", (*ps).name, (*ps).sex, (*ps).age);
//上下意思相同,结构体指针->成员名 <==> (*指针变量).成员名
printf("%s %s %d", ps->name,ps->sex,ps->age);
}
int main()
{
int num = 0;
struct stu s = { "张三","男",18};
struct stu s2 = { "李四","女",20 };
//在对应位置输入像输入的信息
//结构体中的成员如何访问,如:
//s2后面加.
//结构体变量.成员名
//打印
//printf("%s\n", s2.name);
//printf("%s\n", s2.sex);
//printf("%s\n", s2.age);
//也可以
Print(&s);
return 0;
}