《C语言及程序设计》实践参考——随便改
2015-07-02 11:29
513 查看
返回:贺老师课程教学链接
【项目3-随便改】保持下面程序主体for循环部分不变,用你能想到的办法修改程序,使下面程序的输出的a每次都能变化,输出1 2 3 4
[参考解答]
改法1:a作为全局变量,change为无参函数
改法2:change函数改为传地址
改法3:让change函数返回值
改法4:让a作全局变量,change为无参函数
改法5:a作为change函数中的静态变量
【项目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; }
相关文章推荐
- 《C语言及程序设计》实践项目——程序的多文件组织
- C++抽奖程序实现方法
- 《C语言及程序设计》程序阅读——程序的多文件组织
- c++11 & 14: unique_ptr shared_ptr std::make_unique(c++14)
- C++ Primer 学习笔记(1)——巧妙利用cin返回值为其左操作数的特点
- MFC,VC++中,CView类意外消失
- C++ Sort类成员的传递
- JNI初次使用---在C++中得到一系列圆并返回ArrayList
- C/C++中函数参数传递详解
- 数独检测器:帝国理工C++作业
- 2048控制台程序:一份帝国理工C++作业
- 在C++ 中 如何调用 C# 写的DLL
- c语言结构体中保存函数指针的用法
- C++ STL中常见容器的时间复杂度
- 黑马程序员---C语言基础---语句概述
- C/C++中善用大括号
- C语言关键字auto与register的深入理解
- C++中的四种强制类型转换的区别
- 【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL
- C++ 类继承与对象赋值 情况下 成员变量的覆盖 浅析