. [Error] no match for ‘operator=‘ (operand types are ‘STU‘ and ‘int‘)

这篇博客讨论了在C语言中使用结构体数组时遇到的错误——不能直接用scanf为结构体数组的成员赋值。博主指出,对于结构体内的数组成员,应当通过遍历的方式逐个输入。示例代码展示了如何正确地为结构体STU的数组成员sc输入值。这个例子对于初学者理解C语言中结构体的使用具有指导意义。
摘要由CSDN通过智能技术生成

. [Error] no match for 'operator=' (operand types are 'STU' and 'int')

不能将结构体里的数组直接输入,而是通过遍历。

typedef struct{
    int no;
    float sc[3];
    float total;
    int rank;
}STU;


scanf("%6.d\t%3.1d\t3.1%d\t%3.1d\t%4.1d\t%d\n ",s[i].no,s[i].sc[1],s[i].sc[2],s[i].sc[0],s[i].total,s[i].rank);
这样是错的.
纠正:

for(int i=0;i<10;i++){
	scanf("%d ",&s[i].no);
	for(int j=0;j<3;j++)
	scanf("%f",&s[i].sc[j]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值