您的位置:首页 > 其它

关于字符串的输入输出问题

2008-10-15 17:22 260 查看
今天看了别人的帖子,看似很简单的问题,呵呵,还真把我给蒙住了,不过已经有人解出来了,我也就顺便偷懒了,呵呵...

问题代码:

#include <stdio.h>
int main()
{
struct student
{
char name[20];
int num;
float math;
float enghis;
float compute;
float socre;
int yz;
char dz[50];
}stu;
printf("输入数据!/n");
scanf("%s,%d,%f,%f,%f,%d,%s",&stu.name,&stu.num,&stu.math,&stu.enghis,&stu.compute,&stu.socre,&stu.yz,&stu.dz);
printf("你输入的是 %s,%d,%f,%f,%f,%d,%s!/n",stu.name,stu.num,stu.math,stu.enghis,stu.compute,stu.socre,stu.yz,stu.dz);
return 0;
}

输入运行后,输出会多出些随机的字符串,看出错误了没?

改正后的代码:

#include <stdio.h>
int main()
{
struct student
{
char name[20];
int num;
float math;
float enghis;
float compute;
float socre;
int yz;
char dz[50];
}stu;
printf("输入数据!/n");
scanf("%s%d%f%f%f%f%d%s",stu.name,&stu.num,&stu.math,&stu.enghis,&stu.compute,&stu.socre,&stu.yz,stu.dz); //
printf("你输入的是 %s,%d,%f,%f,%f,%f,%d,%s!/n",stu.name,stu.num,stu.math,stu.enghis,stu.compute,stu.socre,stu.yz,stu.dz); //
return 0;
}
还改了一个地方,那就是输入格式由逗号隔开改成用空格隔开,因为若用逗号隔开,字符串输入时会把逗号也当成字符串的一部分,所以按前面那样子输入字符串后又输入数字后面是会出错的,所以一致的全都改成空格格式,学习了,呵呵...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  float math struct