本文介绍了为什么我收到错误:“st1"的存储大小未知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
int main(){
struct info st1, st2;
printf("Enter Quiz1: ");
scanf("%f",&st1.quiz1);
printf("Enter Quiz2: ");
scanf("%f",&st1.quiz2); //print out quiz1 and quiz2 values for st1
printf("The values for Quiz1:%f\n",st1);
printf("The values for Quiz2:%f\n",st1);
}
推荐答案
因为你还没有声明信息(结构).您正在尝试创建两个类型为 info 的变量.要删除错误,请先声明信息.
#include <stdio.h>
// creating info data type
struct info{
float quiz;
};
//Driver Code
int main(){
struct info st1, st2;
printf("Enter Quiz1: ");
scanf("%f",&st1.quiz);
printf("Enter Quiz2: ");
scanf("%f",&st2.quiz);
printf("The values for Quiz1:%f\n",st1.quiz);
printf("The values for Quiz2:%f\n",st2.quiz);
return 0;
}
而不是使用 st1.quiz1 和 st2.quiz2.使用 st1.quiz 和 st2.quiz .因为 st1 和 st2 是两个不同的变量,它们以结构信息中声明的格式分配了单独的内存.
Instead of using st1.quiz1 and st2.quiz2. Use st1.quiz and st2.quiz . Because st1 and st2 are two different variables and they have their separate memory allocated in format as declared in struct info.
这篇关于为什么我收到错误:“st1"的存储大小未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!