C语言大神求解,,我想知道我哪里出错了 10
3个回答
展开全部
三个问题:
1.结构体模板创建语法不对,最后一个}后应当有分号“;”。
2.结构体模板在主函数中创建,那么在主函数外的自定义函数f中就是不可见的,而这个函数的形式参数使用了在主函数中创建的结构体模板类型。所以这连编译都通不过。
3.*parr.age=26;一句有问题:在这里*是“取内容”,而.是“取成员”,*比.低一级,所以会被编译器解释为*(parr.age)=26;,这显然不是你想要的!要写成(*parr).age=26;才对。
改进:应当把结构体模板提前到函数f前创建。如下就行——
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
struct student{
int age;
int score;
};
void f(struct student *parr){
(*parr).age=26;
parr->score=15;
}
int main(void){
struct student a={15,48};
f(&a);
printf("%d %d\n",a.age,a.score);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询