0

print_list()ここでは、コンパイラが次のエラーを表示している fnにエラーがあります。

error: expected ';', ',' or ')' before '=' token

私はこれが初めてなので、助けてください。

これは構文エラーではないと思います。正常に動作するはずのコードの問題を特定できません。関数 print_list の何が問題なのか、または同じ関数の呼び出しに問題があるのか​​ 教えてください。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct node 
{
    int value;
    struct node *next;
    }mynode;
void add(mynode **, int);
void print_list(mynode *);
main()
{
mynode *head=NULL;

add(&head, 10);
add(&head, 100);
add(&head, 1000);
print_list(head);
}

void add(mynode **head_1, int value)
{
 mynode *temp=NULL;
 mynode ** head = head_1;
 temp = malloc(sizeof(mynode));
 temp->value = value;
 temp->next = NULL;
 if (*head == NULL)
    {
        *head = temp;
    }
    else
    {
        while(*head!=NULL)
        {
            *head = (*head)->next;
        }
        *head = temp;
    }
    return;
}
void print_list(mynode *head)
(
    mynode *temp = head;
    while(temp != NULL)
    {
        temp=temp->next;
    printf("%d \t", temp->value);    
    }

    )
4

3 に答える 3

8

{の代わりに使用し(ます。

void print_list(mynode *head)
{
    mynode *temp = head;
    while(temp != NULL)
    {
        temp=temp->next;
    printf("%d \t", temp->value);    
    }
}
于 2013-11-08T05:04:32.673 に答える
4

間違ったブレースを使用しました

 void print_list(mynode *head)
( //error should be {
    mynode *temp = head;
    while(temp != NULL)
    {
        temp=temp->next;
    printf("%d \t", temp->value);    
    }

    )//error should be }
于 2013-11-08T05:04:39.673 に答える
2

{「(」の代わりに関数本体に使用する必要があります

于 2013-11-08T05:07:03.593 に答える