4

次の構造の 'info' の値を読み取り中に、scanf: floating point format not linked というエラーが発生します。

struct node
{
    float info; struct node *next;
}*start;

メイン()で

void main()
{
       struct node *temp;
       temp = (struct node*)malloc(sizeof(struct node));
       printf("enter data = ");
       scanf("%f",&temp->info);
}

そのscanfの値を読み取らず、プログラムから抜け出します。

これを回避するには?

4

3 に答える 3

2

解決策 1:

次のリンクによると: http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/rte_printf_scanf_float_not_linked_xml.html

次のコードを 1 つのソース モジュールに追加できます (それは私にとってはうまくいきました)。

extern _floatconvert;
#pragma extref _floatconvert

例:

#include<....>
.............

extern _floatconvert;
#pragma extref _floatconvert

int main(){......}
..........
..........

解決策 2:

ソース コードに次のダミー関数を追加します。

void dummy()
{
    float f,*fp;
    fp=&f;
}
于 2014-03-25T09:32:23.680 に答える