栈输入
下面是代码 创建了一个栈然后输入,最下边是显示的错误,但是不知道应该怎么改#include<stdio.h>
#include<stdlib.h>
void Input(Num &S);
typedef struct In
{
int *top;
int *base;
int a;
}Num;
void main()
{
Num *S=NULL;
int amount,i,num;
S =(Num*)malloc(sizeof(Num));
Input(*S);
printf("the amount of num you want to add :");
scanf("%d",&amount);
for(i=1;i<=amount;i++)
{
printf("\nthe num you want to add :");
scanf("%d",num);
*(S->top) = num;
S->top ++;
}
}
void Input(Num &S)
{
S.base =(int*)malloc(10*sizeof(int));
if(!S.base)
{
printf("get space ERROR\n");exit(0);
}
S.top = S.base;
}
语法错误 : 缺少“)”(在“&”的前面)
1>d:\c语言\1.1\1.1\1.c(5): error C2143: 语法错误 : 缺少“{”(在“&”的前面)
1>d:\c语言\1.1\1.1\1.c(5): error C2059: 语法错误:“&”
1>d:\c语言\1.1\1.1\1.c(5): error C2059: 语法错误:“)”
1>d:\c语言\1.1\1.1\1.c(20): warning C4013: “Input”未定义;假设外部返回 int
1>d:\c语言\1.1\1.1\1.c(32): error C2143: 语法错误 : 缺少“)”(在“&”的前面)
1>d:\c语言\1.1\1.1\1.c(32): error C2143: 语法错误 : 缺少“{”(在“&”的前面)
1>d:\c语言\1.1\1.1\1.c(32): error C2059: 语法错误:“&”
1>d:\c语言\1.1\1.1\1.c(32): error C2059: 语法错误:“)” void Input(Num &S) 是c++的写法,c没有这样的写法 chxchxkkk 发表于 2020-4-25 00:10
void Input(Num &S) 是c++的写法,c没有这样的写法
噢噢好哒,谢谢!其他的我找到原因啦,不能把函数定义写在Num前
页:
[1]