我正在尝试使用scanf()
使用指针向结构输入值。您可以帮助我理解为什么我的代码无法正常工作
这是我的代码:
#include<stdio.h>
struct student
{
int no;
float marks;
}st[2],*s;
main()
{
printf("enter the values");
for(s=st;s<st+2;s++)
{
scanf("%d%d",&s->no,&s->marks);
}
for(s=st;s<st+2;s++)
{
printff("%d\t%d\t",s->no,s->marks);
}
}
在此代码中scanf无法正常工作,它只取第一个值
答案 0 :(得分:2)
您使用的是错误的格式说明符。 %d
用于int
,%f
用于float
。使用
scanf("%d%f",&s->no,&s->marks);
和
printf("%d\t%f\t",s->no,s->marks);
而s->marks
是float
,而不是int
。使用错误的格式说明符会导致未定义的行为。
答案 1 :(得分:0)
#include<stdio.h>
struct student
{
int no;
float marks;
}st[2],*s;
main()
{
printf("enter the values");
for(s=st;s<st+2;s++)
{
scanf("%d%f",&s->no,&s->marks);
}
for(s=st;s<st+2;s++)
{
printf("%d\t%f\t",s->no,s->marks);
}
}
U必须使用%f进行浮动
答案 2 :(得分:0)
在结构中,您使用了两个变量,<div class="list">
<a class="item item-icon-left" href="#">
<i class="icon ion-person"></i>
mein Konto
</a>
<a class="item item-icon-left" href="#">
<i class="icon ion-navicon-round"></i>
meine Bestellungen
</a>
<a class="item item-icon-left" href="#">
<i class="icon ion-heart"></i>
meine Empfänger
</a>
<a class="item item-icon-left" href="#">
<i class="icon ion-email"></i>
Email an uns
</a>
<a class="item item-icon-left" href="#">
<i class="icon ion-android-share-alt"></i>
Empfehlen Sie uns weiter
</a>
</div>
类型而另一个是int
类型,但在执行float
(接受输入)时,您正在为scanf
执行%d
{1}}然而它应该是float
浮动。这是一个非常小的错误,但你应该通过仔细查看你的代码来试图自己避免它:)
快乐编码