我一直在用这段代码搜索问题,但我不知道现在该做什么。我正在用C语言中的结构做一些练习。
它旨在成为一个程序,它获取2个整数的值并添加它们并将值存储在sum
中,然后打印sum
。
#include <stdio.h>
#include <string.h>
int main()
{
typedef struct {
int num;
int num2;
int sum;
} calc;
struct calc a;
printf("Enter number: ");
scanf("%d", &a.num);
printf("\nEnter a number: ");
scanf("%d", &a.num2);
a.sum=a.num+a.num2;
printf("Output: %d", a.sum);
return 0;
}
错误:a的存储空间大小未知。
答案 0 :(得分:3)
typedef struct {
int num;
int num2;
int sum;
} calc;
在这里,您给的是一个同名结构calc
的别名,所以没有这样的结构称为struct calc
。您应该将a
定义为:
calc a;
或者,您可以为您的结构添加标签:
typedef struct calc {
int num;
int num2;
int sum;
} calc;
现在,您可以使用calc
或struct calc
。
答案 1 :(得分:0)
您的结构已经typedef
了,所以当您声明它时,只需使用calc
代替struct calc
。
将struct calc a;
更改为calc a;