C语言的问题 说大不大 说小不小。。

来源:百度知道 编辑:UC知道 时间:2024/05/05 04:55:24
设计一个程序要求输入姓名 学号 英语成绩 数学成绩 然后输出 姓名 数学成绩
#include<stdio.h>
void main()
{
int a,b,c;
char f;
scanf("%f,%d,%d,%d",&f,&a,&b,&c);
printf("姓名=%f,数学成绩=%d","f",c);
}
为什么输出有很大问题啊 高手来看看哦

姓名是个字符串, 不能用%f, %f是float的输入输出格式, 定义的时候也不能用char, char是单个字符的
#include<stdio.h>
#include "stdlib.h"
#include "string.h"
void main()
{
int a,b,c;
char* f = (char*)malloc(20);
memset(f, 0, 20);
scanf("%s%d%d%d",f,&a,&b,&c);
printf("姓名=%s,数学成绩=%d", f,c);
}

输入用空格隔开
比如输入
张三 70 80 90
输出
姓名=张三,数学成绩=90

用scanf输入字符串的缺点是字符串不能含有空格,即姓名里不能有空格