#include<stdio.h>
#include<string.h>
#define MAX 30
void push(char );
char stack[MAX];
int tos=0;
int main(){
char str[]="Arijit Saha";
// char *final;
// final=(char *)rev(str);
// printf("%s",final);
rev(str);
getch();
return 1;
}
int rev(char s[]){
int i;
for(i=0;i<strlen(s);i++)
push(s[i]);
char reverse[strlen(s)];
int j;
for(j=0;j<strlen(s);j++)
reverse[j]=pop();
printf("%s",reverse);
return 1;
}
void push(char c){
stack[tos]=c;
tos++;
}
char pop(){
tos--;
return stack[tos+1];
}
错误:C:\TC\BIN\stringrevusingstack.c:38: 错误: 'pop' C:\TC\BIN\stringrevusingstack.c:28: 错误: 'pop' 的先前隐式声明在这里
在这里,我返回 char 并将返回的 char 保存在 char 变量( reverse[i] )中。那么为什么会出现这个错误?