本文介绍了为什么我收到错误:“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"的存储大小未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 05:10