想让结构体的两个值都改变!怎么办?
# include "string.h"struct STU
{ char name[10];
int num ; };
void f(char * name, int num)
{ struct STU s[2]={{"sundan",20044},{"penghua",20045}};
num = s[0].num;
strcpy(name,s[0].name);
}
main()
{ struct STU s[2]={{"yangsan",2004},{"lisiguo",20042}},*p;
p=&s[1];f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
getch() ;
return(0);
}
它的答案是:sundan20042 !
它说是因为P->NAME为指针传递,会改变主函数的值,而P->NUM则是值传递,就不会改变!
我在想怎么样使P->NUM的值也改变?那在程序里应该怎么动下手脚?
还有啊:strcpy(name,s[0].name);这一句是什么意思?
可以用其它同功能的语句来代替吗?
我怎么改他都输出这个答案,要不就通不过!气死了!