2016-07-14 15 views
-1

我在我的在線課程中再次遇到來自此編譯器的錯誤消息。我不知道這個語法錯誤可能是什麼,因爲我經歷了幾次代碼,它與我正在編寫的章節中給出的示例代碼幾乎相同。我覺得新鮮經驗的眼睛能發現什麼,我在這裏失蹤 全韌它可能是完全愚蠢小心檢查我的C代碼有什麼問題

編輯:該錯誤消息只是語法錯誤 「 沒有在源代碼 檢查語法錯誤, 檢查{。「

附近的源代碼編輯2:是的,它是缺乏的」)「」再次感謝您的快速幫助!

#include <stdio.h> 
int main(void) 
{ 
int i ; 
FILE *kirj_tied ; 
char luettelo[] = "luettelo.txt"; 

struct henkilo 
{ 
    char etunimi[21]; 
    char sukunimi[21]; 
    char numero[21]; 
}; 

struct henkilo henkilo_lista[50]; 

for (i=0 ; i < 50 ; i++) 
{ 
    printf("Anna etunimi:\n"); 
    scanf("%s",henkilo_lista[i].etunimi); 
    printf("Anna sukunimi:\n"); 
    scanf("%s",henkilo_lista[i].sukunimi); 
    printf("Anna puhelinnumero:\n"); 
    scanf("%s",henkilo_lista[i].numero); 
} 

if ((kirj_tied = fopen(luettelo,"w") == NULL) 
    { 
     printf("Virhe tiedoston avaamisessa."); 
     return 0 ; 
    } 
else 
    { 
     for(i=0 ; i<50 ; i++) 
     { 
      fprintf(kirj_tied,"%s %s %s\n", henkilo_lista[i].etunimi,henkilo_lista[i].sukunimi,henkilo_lista[i].numero); 
     } 
    } 

    fclose(kirj_tied); 
    printf("Tietojen tallennus onnistui."); 
    return 0 ; 
} 
+1

請添加一條錯誤消息。 – VatsalSura

+2

「我在線課程中再次遇到來自此編譯器的錯誤消息。」你認爲沒必要把它包含在問題中? – tkausl

+1

是不是有某種錯誤信息?如果你把它包括在內,它會有所幫助...... – Dmitri

回答

1

if ((kirj_tied = fopen(luettelo,"w") == NULL) 

缺少一個括號吧?應該是:

if ((kirj_tied = fopen(luettelo,"w")) == NULL) 
+0

是的,這是它的感謝! –

0

你缺少對與if語句來行權括號())。

它應該閱讀

if ((kirj_tied = fopen(luettelo, "w")) == NULL) { 
            ^that one 

運行代碼壓在代碼將檢舉這一點。大多數編譯器會給你一個更有幫助的錯誤信息。

鐺編譯器,例如,說

prog.c:28:5: error: expected ')' 
    { 
    ^
prog.c:27:4: note: to match this '(' 
if ((kirj_tied = fopen(luettelo,"w") == NULL) 
^