#include <stdio.h>
#include <stdlib.h>
struct Fraction {
int num;
int denom;
};
struct PolyTerm {
int expo;
struct Fraction coeff;
};
struct PolyNode {
struct PolyTerm* dataPtr;
struct PolyNode* next;
};
typedef struct Fraction* FractionAddr;
typedef struct PolyNode* PolyNodeAdr;
typedef struct PolyNode* PolyList;
int main() {
int exponet;
PolyNodeAdr polyNode = 0;
printf("\n\tPlease Enter expoent: ");
scanf("%d", &exponet);
polyNode->dataPtr->expo = exponet;
//printf("\n%d\n",polyNode->dataPtr->expo);
return;
}
在上面的代码中,我试图将 exponet 存储到 polynode 结构中的 expo 中
但我尝试了很多方法,但错误不断出现
不是expo是一个int吗?为什么我不能将指数(int)存储到其中?
当我刚刚放入struct PolyTerm dataPtr;
polyNode 的结构时,我检查了几种方法
总的来说,polyNode->dataPtr.expo = exponet;
它会起作用
我认为因为 dataPtr 是一个指针struct PolyTerm* dataPtr;
但我不知道要修复它
谁能向我解释为什么我不能这样做以及解决方案是什么?