C语言学习打卡2
一、scanf的读取特点
#include <stdio.h>
int main() {
char a[10];
scanf("%s", a);
printf("%s", a);
}
#include<stdio.h>
int main(void)
{
char a,b,c;
printf("请输入三个字符:");
scanf("%c%c%c",&a,&b,&c);
printf("%c,%c,%c\n", a,b,c);
return 0;
}
相关作业
代码展示
#include <stdio.h>
#include <string.h>
int const Maxsize = 20;
//输入一个学生的学号,姓名,性别,用结构体存储,通过scanf读取后,然后再通过printf打印输出,例如输入 101 xiongda m
typedef struct student {
int a;
char b[Maxsize];//姓名是字符串,但C语言没有string
char s;//性别
}stu;
int main() {
stu stu1;
scanf("%d",&stu1.a);
scanf("%s",stu1.b);
scanf(" %c",&stu1.s);
//scanf("%d%s %c",&stu1.a,stu1.b,&stu1.s);
printf("%d %s %c\n",stu1.a,stu1.b,stu1.s);
return 0;
}
总结:
1.在用 %c 输入时,空格和"转义字符"均作为有效字符。(不会忽略空格的!)所以scanf读取时需在%s和%c之间加个空格。
2.在用scanf读取%s时,读取连续字符,直到遇到一个空格字符(空格字符可以是空白、换行和制表符)。
注意:C语言没有string类型!!
二、结构体:
(1)typedef 数据类型重命名
(2)结构体的定义:(来自于菜鸟教程https://www.runoob.com/cprogramming/c-structures.html)