QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1342|回复: 6

scanf 在输入结构体浮点数成员中出现的问题,令人费解!

[复制链接]
发表于 2004-12-12 12:41:28 | 显示全部楼层 |阅读模式
#include<stdio.h>
#include<conio.h>

typedef struct student {
   int a ;
   float b ;
} Student ;

Student s[3] ;

void main( void )
{
   int i ;

   clrscr() ;
   printf( "input :\n" ) ;

   for( i = 0 ; i < 3 ; i++ )
   {
        scanf( " %d" , &s[ i ].a ) ;
        scanf( " %f" , &s.b ) ;   /*此处出现问题*/
   }

   for( i = 0 ; i < 3 ; i++ )
      printf( "output : %d %f\n" , s.a , s.b ) ;
}

这个程序在进行浮点输入时产生了“scanf : floating point formats not linked”的信息,而后程序终止。但是,如果我把其中的 i 改为某个具体值的话,即 “scanf( "%f" , &s[1].b ) ;”,此时程序能够正常运行。这个问题实在令人费解,望大侠们名示!
发表于 2004-12-12 13:43:45 | 显示全部楼层
get solution from google. I'd tried it.
回复

使用道具 举报

发表于 2004-12-12 15:51:00 | 显示全部楼层
把i改为常数后的输出值是你输入的值吗?
还是只是一个浮点数?
回复

使用道具 举报

发表于 2004-12-12 16:24:03 | 显示全部楼层
在我机器上用测试一点问题也没有(gcc 3.3).
回复

使用道具 举报

发表于 2004-12-12 16:55:25 | 显示全部楼层
a problem occured in turbo c
回复

使用道具 举报

 楼主| 发表于 2004-12-12 19:58:47 | 显示全部楼层
哦,难道说这是编译器的问题吗?
回复

使用道具 举报

 楼主| 发表于 2004-12-12 20:08:00 | 显示全部楼层
当我更换了BC++3.1时,同样存在这个问题!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 23:34 , Processed in 0.081062 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表