vc6.0下C语言小例子运行出错。不用g函数直接用printf就没错了,帮忙看下错在哪?

2025-01-06 12:14:48
推荐回答(3个)
回答1:

改动:system("pause");  要增加头文件:

   #include  

其他的编译没问题,通过,看结果:

问一下,你采用的什么编译器

回答2:

函数声明应该在结构体之后。使用的时候,注意先后,编译器是自上而下的。

#include
#include
#include//system可能会用,Linux的GCC编译器不用也行。            
  
struct Student                  
{
    int sid;
    char name[200];
    int age;
};
void f(struct Student *pst);   
void g(struct Student st); 

int main()             
{
 struct Student st;          
  f(&st);                    
  g(st);                   
  system("pause");           
  return 0;
}

void f(struct Student *pst)     
{
    pst->sid=1000;               
    pst->age=22;
    strcpy(pst->name,"zhangsan");
}

void g(struct Student st)    
{
    printf("%d  %s  %d\n",st.age,st.name,st.sid); 
}

回答3:

你试试把你的g函数改成void g(struct Student *st)看看,多尝试一下。