关于结构体读取输出 出错
为什么这段不能正常读取和输出结构体当中的内容呢#include<stdio.h>
#include<string.h>
struct Student
{
char num;
char name;
float score;
}student;
int main()
{
char max, i;
for(i = 0; i < 3; i++)
{
scanf("%c%s%f",&student.num, student.name, &student.score);
}
for(i = 0; i < 3; i++)
{
printf("%c %s %.2f\n",student.num, student.name,student.score);
}
printf("The higer score is:\n");
return 0;
}
scanf("%c%s%f",&student.num, student.name, &student.score);
"%c%s%f" // 分割符呢?
student.name // &呢? ba21 发表于 2021-5-18 23:25
scanf("%c%s%f",&student.num, student.name, &student.score);
"%c%s%f" // 分割符呢?
student.name / ...
数组不是不用取址吗 #include<stdio.h>
#include<string.h>
struct Student
{
char num;
char name;
float score;
}student;
int main()
{
//char max, i;
int max, i;
for(i = 0; i < 3; i++)
{
scanf("%c%s%f",&student.num, student.name, &student.score);
getchar();
}
for(i = 0; i < 3; i++)
{
printf("%c %s %.2f\n",student.num, student.name,student.score);
}
printf("The higer score is:\n");
return 0;
}
人造人 发表于 2021-5-19 09:24
请问这里为什么要加一个getchar呢 Mr丶张 发表于 2021-5-19 09:49
请问这里为什么要加一个getchar呢
去掉在输入流中最后那个多余的 '\n'
人造人 发表于 2021-5-19 09:24
什么情况下要用getchar()?? 最强废铁h 发表于 2021-5-25 09:08
什么情况下要用getchar()??
当 scanf 最后一个接收的不是 %c 的时候
#include <stdio.h>
int main(void) {
int a, b, c;
char ch;
scanf("%d%d%d", &a, &b, &c);
getchar();
scanf("%c", &ch);
printf("%d, %d, %d, '%c'\n", a, b, c, ch);
return 0;
}
#include <stdio.h>
int main(void) {
int a, b, c;
char ch1, ch2;
scanf("%d%d%d%c", &a, &b, &c, &ch1);
scanf("%c", &ch2);
printf("0x%x, 0x%x\n", ch1, ch2);
printf("%d, %d, %d\n", a, b, c);
return 0;
}
页:
[1]