作业帮 > 综合 > 作业

#includestruct student{int num;char name[10];int score;};voi

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 16:15:48
#include
struct student{int num;char name[10];int score;};
void f(struct student st){st.score++;}
void main()
{ struct student st={200,"chenchen",76};
f(st);
printf("%d",st.score);
}
为什么最后输出的是76?不是加了1,不应该是77吗?
#include
struct student{int num;char name[10];int score;};
struct student st={200,"chenchen",76};
void f(void){st.score++;}
void main()
{
f();
printf("%d",st.score);
}
这样就好了
你的那个,f中的st是参变量加多少都不会改变最后的结果
再问: 可是这是选择题啊 不能改
再答: "f中的st是参变量加多少都不会改变最后的结果“
这就是为什么是76的原因啊,你main函数中的st只是一个局部变量,而你f函数中的st只是一个参变量。
举个例子
void f(int n)
{
n++;

}

main()
{
n=0;
f(n);
}
最后输出还是0,因为你的函数没有对n产生任何影响。你的那种方法对数组适用,但对结构就不能这样来了