Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么该程序在';s';_C - Fatal编程技术网

C 为什么该程序在';s';

C 为什么该程序在';s';,c,C,这是一个使用堆栈获取输入的程序。我不明白为什么它显示代表scanf的错误。有人能解释错误吗 #include<stdio.h> struct stack { int top,n; }; typedef struct stack s; int main(void) { scanf("%d",&s.n); return 0; } #包括 结构堆栈 { int-top,n; }; typedef结构栈s; 内部主(空){ scanf(“%d

这是一个使用堆栈获取输入的程序。我不明白为什么它显示代表scanf的错误。有人能解释错误吗

#include<stdio.h>

struct stack 
{ 
  int top,n;     
}; typedef struct stack s;

int main(void) {
    scanf("%d",&s.n);
    return 0;
}
#包括
结构堆栈
{ 
int-top,n;
}; typedef结构栈s;
内部主(空){
scanf(“%d”和s.n);
返回0;
}

s
命名
结构堆栈
类型。不是那种类型的实例

您可以做的是:

s a_stack;

然后使用
&a_stack.n
s
是一个typedef,它不是
struct stack
的变量,用于访问结构中的成员。要访问成员变量,首先声明类型为
s
的变量,然后访问其中的成员

s variable;
scanf("%d",&variable.n);