0
Ich bin nicht so viel Erfahrung mit C-Sprache.Wie man den unten unbekannten Typfehler von diesem einfachen c-Stapelprogramm repariert?
Also habe ich versucht, ein einfaches c-Programm für den Stapel zu schreiben, aber es zeigt eine Reihe von Fehlern.
Also kann ich etwas in Datenelementen falsch gemacht werden.
Fehlerprotokoll:
stack.c:31:11: error: unknown type name ‘stack’
void push(stack[],top){
^
stack.c:31:19: error: unknown type name ‘top’
void push(stack[],top){
^
stack.c:45:6: warning: conflicting types for ‘pop’ [enabled by default]
void pop(stack,top){
^
stack.c:19:1: note: previous implicit declaration of ‘pop’ was here
pop();
^
stack.c:54:6: warning: conflicting types for ‘traverse’ [enabled by default]
void traverse(stack,top){
^
stack.c:22:1: note: previous implicit declaration of ‘traverse’ was here
traverse();
^
stack.c: In function ‘traverse’:
stack.c:62:20: error: subscripted value is neither array nor pointer nor vector
printf("%d\n",stack[i]);
Programm:
#include <stdio.h>
#include <stdlib.h>
void main(){
int stack[10];
int i;
int choice;
printf("Enter the elementz\n");
for (i = 0; i < 10; i++){
scanf("%d",&stack[i]);
printf("++++++++ MENU ++++++++\n\n\n");
printf("Enter 1 to push \n Enter 2 to pop\n Enter 3 to display \n\n\n");
printf("Enter you choice \n\n\n");
scanf("%d",&choice);
switch(choice){
case 1 :
push();
break;
case 2:
pop();
break;
case 3 :
traverse();
break;
default:
printf("Enter the correct choice\n");
}
}
}
void push(stack[],top){
int item;
int max = 10;
printf("Enter the number you want to input\n");
scanf("%d",&item);
if(top == stack[max]-1){
printf("It's full\n");
}
else{
top = top+1;
stack[top] = item;
}
}
void pop(stack,top){
if(top == -1){
printf("STack is empty\n");
}
else{
top = top-1;
}
}
void traverse(stack,top){
int i;
if(top == -1){
printf("WHy r u giving m empty stack to print");
}
else{
for (i = 0; i <10; i++){
printf("Your stack is : \n");
printf("%d\n",stack[i]);
}
}
}
Vielen Dank im Voraus.
Bitte einige Zeit dauern, die Grundlagen zu erklären, Definition und Verwendung von Funktionen in C. Es ist nicht sinnvoll, Antworten auf solche grundlegenden Konzepte hier zu verstehen. –
Ich stimme ab, diese Frage als off-topic zu schließen, weil die Antworten auf das OP-Problem in jedem grundlegenden Lehrbuch zu C. gefunden werden können. –