返回:贺老师课程教学链接
【项目3-随便改】保持下面程序主体for循环部分不变,用你能想到的办法修改程序,使下面程序的输出的a每次都能变化,输出1 2 3 4
#include<stdio.h> void change(int a) { a=a+1; } int main() { int a=0; int n=4; int i=0; for(i=0; i<n; i++) { change(a); printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }[参考解答] 改法1:a作为全局变量,change为无参函数
#include<stdio.h> int a=0; //* void change() //* { a=a+1; } int main() { int n=4; int i=0; for(i=0; i<n; i++) { change(); //* printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }改法2:change函数改为传地址
#include<stdio.h> void change(int *a) { *a=*a+1; } int main() { int a=0; int n=4; int i=0; for(i=0; i<n; i++) { change(&a); printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }改法3:让change函数返回值
#include<stdio.h> int change(int a) { a=a+1; return a; } int main() { int a=0; int n=4; int i=0; for(i=0; i<n; i++) { a = change(a); printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }改法4:让a作全局变量,change为无参函数
#include<stdio.h> int a=0; void change() { a=a+1; } int main() { int n=4; int i=0; for(i=0; i<n; i++) { change(); printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }改法5:a作为change函数中的静态变量
#include<stdio.h> int change() { static int a=0; a=a+1; return a; } int main() { int n=4; int i=0; for(i=0; i<n; i++) { printf("%d ",change());//如何使这里a的值,每次都发生改变 } return 0; } 相关资源:python入门教程(PDF版)