为什么我收到错误:“st1"的存储大小未知 [英] Why am I getting error: storage size of ‘st1’ isn’t known

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆