Syntaxfehler : fehlendes ';' vor 'type' IM C

Ich versucht zu beenden mein code.nach dem reservieren von Speicher für die arrays. ich habe paar Fehler und weil von Ihnen, ich kann nicht den code zu kompilieren.
Ich möchte Ihre Hilfe, um das Programm fertig danke!

1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(27): error C2143: syntax error : missing ';' before 'type'
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(28): error C2065: 'text2' : undeclared identifier
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(28): warning C4047: '=' : 'int' differs in levels of indirection from 'char **'
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(29): error C2065: 'text2' : undeclared identifier
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(36): error C2065: 'text2' : undeclared identifier
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(36): error C2109: subscript requires array or pointer type
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(38): error C2143: syntax error : missing ';' before 'type'
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(47): error C2065: 'text2' : undeclared identifier
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(47): error C2109: subscript requires array or pointer type
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(47): error C2198: 'gets' : too few arguments for call
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(50): error C2065: 'text2' : undeclared identifier
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(50): warning C4047: 'function' : 'char **' differs in levels of indirection from 'int'
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(50): warning C4024: 'PrintStr2' : different types for formal and actual parameter 1
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Dies ist mein code

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define LINES 4
#define length 100

void SortText1(char **text1);
void SortText2(char **text2);
void PrintStr1(char **text1);
void PrintStr2(char **text2);
void main (){
    int i;
    char **text1;
    text1=(char **)malloc(LINES*sizeof(char *));    
    if(!text1){ //Terms - if there is not enough memory,print error msg and exit the program.  
        printf("alloc failed\n");
        return ;
    }

    for (i=0 ; i<LINES; i++){
        text1[i] =(char*) malloc(length*sizeof(char));
    }

    char **text2;
    text2=(char **)malloc(LINES*sizeof(char *));
    if(!text2){ //Terms - if there is not enough memory,print error msg and exit the program.  
        printf("alloc failed\n");
        return ;
    }

    for (i=0 ; i<LINES; i++){
        text2[i] =(char*) malloc(length*sizeof(char));
    }

    char text3[LINES+LINES][length];
    printf("First string,Please enter %d names (only capital letters,without spaces):", LINES);
    for ( i=0 ; i<LINES ; i++){
        gets(text1[i]);
    }

    printf("Second string,Please enter %d names (only capital letters,without spaces):", LINES);
    for ( i=0 ; i<LINES ; i++){
        gets(text2[i]);
    }

    PrintStr1(text1);
    PrintStr2(text2);
    SortText1(text1);
    system("pause");
    return ;
}
void SortText1(char **text1){   
    int i,j,k;
    for (i=LINES-1 ; i>0 ; i--){
        for ( j=0 ; j<i ; j++ ){
            if(strcmp(text1[i],text1[i+1]) > 0 ){
                char *temp=text1[i+1];
                text1[i+1]=text1[i];
                text1[i]=temp;
            }
        }
    }

    printf("The first string sorted:\n");
    for ( k=0 ; i<LINES ; k++){
        printf("%s ",text1[k]);
    }
    printf("\n");
}

void PrintStr1(char **text1){
    int i;
    printf("The first string of NAMES:\n");
    for ( i=0 ; i<LINES ; i++){
        printf("%s ",text1[i]);
    }
    printf("\n");
}
void PrintStr2(char **text2){
    int i;
    printf("The second string of NAMES:\n");
    for ( i=0 ; i<LINES ; i++){
        printf("%s ",text2[i]);
    }
    printf("\n");
}
  • Wenn Sie möchten, dass wir Blick auf die Zeilennummern in den Fehler, bitte fügen Sie Zeilennummern in der Quelle. Ideal wäre es, wenn könnten Sie ein kleineres Beispiel, dass zeigt das gleiche problem.
  • mögliche Duplikate von Fehler B. c2143: Syntaxfehler : fehlendes ';' vor 'type'
  • Wie füge ich Zeilennummern?
  • Ich bekomme keine Fehler wenn ich Ihren code kompilieren mit mingw, aber überprüfen Sie die Zeile, die sagt für ( k=0 ; i<ZEILEN ; k++)
  • Oh, nevermind. Es ist in ansi C nicht c99. Ich werde erklären, in einem längeren Kommentar.
InformationsquelleAutor Sagi Binder | 2013-09-20
Schreibe einen Kommentar