1

関数のパラメーターの 1 つとして文字の配列を指定するための正しい構文は何ですか?

ストレスでエラーを見つけられないのか、しばらく C から離れていたのかはわかりません。エラーを見つけることができません。助けてください!

#include <stdio.h>
#include <string.h>
void reverseWord(int len, char[] str, int index)
{
    int start, end;
    char temp;
    start = index - len;
    end = index - 1;
    while (start <= end)
    {
        temp = str[start];
        str[start] = str[end];
        str[end] = temp;
        start++;
        end --;
    }
}

void main()
{
    int i,j=0, len;
    int tmp = 0;
    char str[]="i am a loser";
    char word[]= " ";
    len = strlen(str);
    for(i=0;i<len;i++)
    { 
        if(str[i] == ' ')
        {
            tmp = strlen(word);
            if(tmp != 0)
            {    
                 reverseWord(tmp , str ,i);
                 j = 0; <<ERROR PRONE LINE>>
            }
        }
       else
           word[j++]=str[i];
    }

    printf ("final string = %s",str); 
}

このエラーが発生し続けます

error: expected ‘;’, ‘,’ or ‘)’ before ‘str’ on line marked above
4

5 に答える 5

3

}行の右中括弧がありませんif(str[i] == ' ')

于 2013-04-13T00:25:37.450 に答える
1

閉じ括弧を忘れた

if(str[i] == ' ')
{
            tmp = strlen(word);
            if(tmp != 0)
            {    
                 reverseWord(tmp , str ,i);
                 j = 0; <<ERROR PRONE LINE>>
            }
}
else
{
           word[j++]=str[i];
}
于 2013-04-13T00:26:31.517 に答える