C语言 第六章 函数期末测试习题与答案
C语言第六章函数期末测试习题与答案
1、以下叙述正确的是
A. C语言中除了main函数,其他函数不可作为单独文件形式存在
B.C语言程序是由过程和函数组成的
C.C语言函数可以嵌套调用
D.C语言函数不可以单独编译
参考答案:C
2、以下关于C语言程序中函数的说法正确的是
A.函数的定义和调用均不可以嵌套;
B.函数的定义可以嵌套,但函数的调用不可以嵌套;
C.函数的定义和点用都可以嵌套。
D.函数的定义不可以嵌套,但函数的调用可以嵌套;
参考答案:D
3、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是
A.调用可以出现在表达式中
B.调用可以作为独立的语句存在
C.调用可以作为一个函数的形参
D.调用可以作为一个函数的实参
参考答案:C
4、以下关于return语句的叙述中正确的是
A.没有return语句的自定义函数在执行结束时不能返同到调用处
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.一个自定义函数中必须有一条return语句
参考答案:B
5、C语言规定:函数返回值类型是由
A.return语句中的表达式类型决定
B.调用该函数时系统临时决定
C. 定义该函数时所指定的函数类型决定
D.调用该函数时的主调函数类型决定
参考答案:C
6、以下错误的描述是()
函数调用可以_____
A.出现在执行语句中
B.出现在一个表达式中
C.做为一个函数的形参
D.做为一个函数的实参
参考答案:C
7、以下说法不正确的是()
C语言规定:
A.实参可以是任意类型
B.实参可以是常量、变量或表达式
C.形参应与其对应的实参类型一致
D.形参可以是常量、变量或表达式
参考答案:D
8、C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()
A.由用户指定传递方式
B.单向值传递
C.地址传递
D.双向值传递
参考答案:B
9、当调用函数时,实参是一个数组名,则向函数传送的是()
A.数组的首地址
B.数组每个元素中的值
C.数组每一个元素的地址
D.数组的长度
参考答案:A
10、
以下正确的说法是( )。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A.为非法变量
B.只在该复合语句中有效
C.在本程序范围内有效
D.在该函数中有效
参考答案:B
11、以下不正确的说法为()
A.在不同函数中可以使用相同名字的变量
B.在函数内定义的变量只在本函数范围内有效
C.在函数内的复合语句中定义的变量在本函数范围内有效
D.形式参数是局部变量
参考答案:C
12、以下正确的说法是()
A.系统根本不允许用户重新定义标准库函数
B.用户可以重新定义标准函数,若如此,该函数将失去原有含义
C.用户若需调用标准库函数,调用前必须重新定义
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
参考答案:B
13、在C语言中,以下正确的说法是()
A.实参和与其对应的形参共占用一个存储单元
B.实参和与其对应的形参各占用独立的存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元
参考答案:B
14、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()
A.long 型
B.float型
C.int 型
D.double 型
参考答案:C
15、在C语言中,函数的隐含存储类别是()
A.static
B.无存储类别
C.auto
D.extern
参考答案:D
16、以下只有在使用时才为该类型变量分配内存的存储类说明是()
A.auto和 static
B. auto和 register
C.register和 static
D.extern和 register
参考答案:B
17、以下函数定义正确的是()
A.double fun(int x; int y)
B. double fun(int x, int y)
C.double fun(int x , y)
D.double fun(int x, int y)
参考答案:B
18、以下正确的函数形式是()
A.fun(x,y)
{int x,y; double z; z=x+y; return z;}
B.fun (int x,y)
{int z;return z;}
C.double fun(int x,int y)
{z=x+y;return z;}
D.double fun(int x,int y)
{double z;
z=x+y; return z;}
参考答案:D
19、有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是( )。
A.有语法错
B.5
C.3
D.4
参考答案:C
20、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()
A.地址传递
B.由实参传给形参,再由形参传回实参
C.单向值传递
D.传递方式由用户指定
参考答案:C
21、以下叙述中正确的是()
A.全局变量的作用域一定比局部变量的作用域范围大
B.静态(static)类别变量的生存期贯穿于整个程序的运行期间
C.未在定义语句中赋初值的auto变量和static变量的初值都是随机值
D.函数的形参都属于全局变量
参考答案:B
22、有如下程序
int runc(int a,int b)
{ return(a+b);}
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
该程序的输出的结果是()
A.14
B.12
C.15
D.13
参考答案:C
23、有如下程序
long fib(int n)
{
if(n>2) return(fib(n-1)+fib(n-2)); else return(2);
}
main()
{ printf("%d\n",fib(3)); }
该程序的输出结果是()
A.8
B.4
C.2
D.6
参考答案:B
24、
有以下程序
voidf(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; } }
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c); }
执行后输出的结果是()
A.4,3,5
B.5,4,3
C.5,3,4
D.3,4,5
参考答案:B
25、程序段:
int x=12;
doub1e y=3.141593;
printf("%d%8.6f"x,y);
的输出结果是()
A.123,1415930
B.123.1415926
C.12,3.141593
D.123.141593
参考答案:D。
C语言程序设计 第六章 函数 试题及答案
B)形参可以是常量、变量或表达式
C)实参可以是任意类型
D)实参应与其对应的形参类型一致
参考答案:B
6.8以下正确的说法是。
A)定义函数时,形参的类型说明可以放在函数体内
B)return后面的值不能为表达式
C)如果函数的类型与返回值类型不一致,以函数类型为准
D)如果形参与实参的类型不一致,以实参类型为准
A)float型B)int型C)long型D)double型
参考答案:B
6.12 C语言规定,函数返回值的类型是由所决定。
A)return语句中的表达式类型
B)调用该函数时的主调函数类型
C)调用该函数是系统临时指定
D)在定义该函数时所指定的函数类型
参考答案:D
*6.13下面函数调用语句含有实参的个数为。
if(m!=-1) n=m;
}
printf("\nn=%d",n);
}
【1】A)k*10 B)k%10 C)k/10 D)k*10%10
【2】A)a2*10 B)a2 C)a2/10 D)a2%10
参考答案:【1】C【2】A
6.18以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A','B','C');则符合程序段运行结果的选项是。
A-->C A-->C B-->C B-->C
A-->B A-->B A-->C A-->C
参考答案:C
6.19若用数组名作为函数调用的实参,传递给形参的是。
A)数组的首地址B)数组第一个元素的值
C)数组中全部元素的值D)数组元素的个数
C语言函数练习题(含答案解析)
C语言-函数1. 以下正确的函数定义形式是()。
A)double fun(int x,int y) B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x, y)2. 函数调用语句:func((x1,x2),(x3,x4,x5));含有的实参个数是()。
A)1 B)2C)4 D)53. 对函数调用描述错误的是()。
A)出现在执行语句中B)出现在表达式中C)作为函数的实参D)作为函数的形参4. 以下不正确的说法是()。
A)不同函数中可以使用同名变量B)函数内定义的变量只在本函数范围内有效C)形式参数是局部变量D)复合语句中定义的变量在本函数范围内有效5.以下正确的说法是()。
在C语言中A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共同占用存储单元D)形参是虚拟的,不占用存储单元6.对函数及其参数,在C语言中以下描述不正确的是()。
A)主函数main()可以有参数B)实参和形参必须类型一致C)函数调用时是实参传送给形参,而形参不能传送给实参D)函数的返回值可有可无7.在C语言程序中,下列说法中()是正确的。
A)函数的定义和调用都可以嵌套B)函数的定义和调用都不可以嵌套C)函数的定义可以嵌套,而调用不能嵌套D)函数的定义不能嵌套,而调用可以嵌套8.定义一个具有返回值的函数,但没加类型说明,该函数的默认类型为()。
A)int B)void C)float D)不确定9.函数返回值的类型取决于()。
A)函数的类型B)return语句中表达式的类型C)调用函数将值赋给的变量的类型D)函数类型与return语句中表达式类型中较高的类型10.C语言中形参的默认存储类别是()。
A)自动(auto)B)静态(static)C)寄存器( register) D)外部(extern)11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传送方式是()。
c语言关于函数的试题及答案
c语言关于函数的试题及答案1. 题目:以下哪个选项是正确的C语言函数定义?- A. int function(int a, int b) { return a + b; } - B. int function(int a, int b) { return a - b; } - C. int function(int a, int b) { return a * b; } - D. All of the above答案:D2. 题目:在C语言中,函数的返回值类型是什么?- A. void- B. int- C. float- D. char答案:A3. 题目:以下哪个选项是C语言中有效的函数声明?- A. int add(int a, int b);- B. int add(int, int);- C. int add(int a; int b);- D. int add(int a, int b) {}答案:A4. 题目:在C语言中,函数的参数默认传递方式是什么? - A. 值传递- B. 引用传递- C. 指针传递- D. 以上都不是答案:A5. 题目:以下哪个选项是C语言中正确的递归函数定义?- A. int fact(int n) { if (n == 0) return 1; else return n * fact(n - 1); }- B. int fact(int n) { if (n == 0) return 1; else return n * fact(n + 1); }- C. int fact(int n) { if (n == 1) return 1; else return n * fact(n - 1); }- D. All of the above答案:A6. 题目:在C语言中,如何定义一个接受任意数量参数的函数?- A. 使用不定参数列表- B. 使用数组作为参数- C. 使用指针作为参数- D. 使用结构体作为参数答案:A7. 题目:以下哪个选项是C语言中正确的函数指针声明?- A. int (*func)(int);- B. int *func(int);- C. int func(int)[];- D. int (*func)(int, int);答案:A8. 题目:在C语言中,如果函数返回一个结构体,那么函数的返回类型是什么?- A. struct- B. void- C. int- D. char答案:A9. 题目:以下哪个选项是C语言中正确的函数重载声明?- A. void add(int a, int b);- B. int add(int a, int b);- C. void add(int a, int b, int c);- D. All of the above答案:D10. 题目:在C语言中,如何定义一个接受可变数量参数的函数?- A. 使用不定参数列表- B. 使用数组作为参数- C. 使用指针作为参数- D. 使用结构体作为参数答案:A。
完整word版,函数练习题(C语言)带答案
C语言函数练习题一、选择题1. 一个完整的C源程序是【】。
A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【】。
A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【】。
A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【】。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】A)float B)longC)int D)double6. 以下关于函数叙述中,错误的是【】。
A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【】。
A)参数的形实结合B)函数返回值C)全局变量D)同名的局部变量8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。
A)实参与其对应的形参共占存储单元B)只有当实参与其对应的形参同名时才共占存储单元C)实参与对应的形参分别占用不同的存储单元D)实参将数据传递给形参后,立即释放原先占用的存储单元9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。
C语言程序设计 第六章 函数 试题及答案
A)没有返回值B)返回若干个系统默认值
C)返回一个用户所希望的函数值D)返回一个不确定的值
参考答案:D
参考分析:函数有没有返回值是由函数类型所决定的,当没有retrun语句,系统不能返回一个确定的值而已。
6.7以下不正确的说法是,C语言规定。
C) 7 9 11 D) 7 8 9
参考答案:D
*6.30以下程序的正确运行结果是。
#include<stdio.h>
main()
{int k=4,m=1,p;
p=func(k,m); printf("%d,",p);
p=func(k,m); printf("%d"\n",p);
}
func(int a,int b)
{static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A)8,17 B)8,16 C)8,20 D)8,8
参考答案:A
2
6.31 C语言规定,可执行程序的开始执行点是【】。
参考答案:main函数
6.32在C语言中,一个函数一般由两个部分组成,它们是【1】和【2】。
{float value;
falue=a/b;
return(value);
}
【1】A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y
【2】A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y
c语言期末试题及答案及详解
c语言期末试题及答案及详解本文将提供C语言的期末试题及答案,并对每个问题进行详细解析,旨在帮助读者更好地理解和掌握C语言知识。
每个问题都将以清晰的排版和通顺的语句进行阐述,以确保文章的可读性和表达流畅。
试题一:1. 以下代码段输出的结果是什么?```c#include <stdio.h>int main() {int x = 6 / 2 * (1 + 2);printf("%d", x);return 0;}```答案及详解:输出的结果是9。
这个问题考察了C语言中的运算符优先级。
根据优先级规则,先计算括号内的表达式1 + 2,结果为3。
然后进行乘法运算6 / 2 * 3,结果为9。
最后通过printf函数将结果打印出来。
试题二:2. 以下代码段中存在什么错误,并进行改正。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", num1, num2);int sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```答案及详解:代码存在的错误是scanf函数参数传递时变量名未加取地址符&,需要改正为scanf("%d %d", &num1, &num2)。
scanf函数用于从标准输入读取数据,需要通过取地址符&将变量的地址传递给scanf函数,以便将读取的数据存储到相应的变量中。
在给定的代码中,应该在num1和num2前面加上&,即scanf("%d %d", &num1, &num2)。
试题三:3. 下面的代码中,函数fun的返回值是什么?```c#include <stdio.h>int fun(int *arr, int n) {if (n == 0) {return 0;}return (*arr) + fun(arr+1, n-1);}int main() {int arr[] = {1, 2, 3, 4, 5};int sum = fun(arr, 5);printf("数组元素的和为:%d", sum);return 0;}```答案及详解:函数fun的返回值是数组元素的和。
c语言中函数试题及答案
c语言中函数试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. int答案:D2. 函数的返回类型是什么?A. 函数执行后返回的数据类型B. 函数的名称C. 函数的参数D. 函数的调用方式答案:A3. 在C语言中,以下哪个函数用于计算两个整数的和?A. strcatB. strcmpC. strcatD. sum答案:D(假设sum是一个自定义的函数)二、填空题1. 在C语言中,定义函数的关键字是________。
答案:int2. 函数的返回值是通过________关键字返回的。
答案:return3. 函数的参数列表定义了函数调用时需要传递的________。
答案:值三、简答题1. 请简述C语言中函数的定义格式。
答案:在C语言中,函数的定义格式通常如下:```returnType functionName(parameterList) {// function body}```其中`returnType`是函数的返回类型,`functionName`是函数的名称,`parameterList`是函数的参数列表,`function body`是函数的执行体。
2. 请解释C语言中函数的调用过程。
答案:C语言中函数的调用过程包括以下步骤:- 调用者准备参数并调用函数。
- 函数接收参数并执行函数体。
- 函数计算结果并通过return语句返回。
- 调用者接收返回值并继续执行。
四、编程题1. 编写一个C语言函数,计算两个整数的和并返回结果。
答案:```cint sum(int a, int b) {return a + b;}```调用示例:```cint result = sum(5, 10);printf("The sum is %d", result); ```。
C语言程序设计教程第六章课后习题参考答案
C语⾔程序设计教程第六章课后习题参考答案P158 1求三个实数最⼤值#includefloat max(float,float,float);int main(){float a,b,c,m;printf("请输⼊三个实数:");scanf("%f %f %f",&a,&b,&c);printf("最⼤数为%f\n",max(a,b,c));return 0;}float max(float a,float b,float c){float t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;elset=c;return t;}P158 2求最⼤公约数最⼩公倍数#includeint fun1(int a,int b);int fun2(int a,int b);int main(){int a,b;printf("请输⼊两个整数:");scanf("%d %d",&a,&b);printf("最⼤公约数为:%d\n",fun1(a,b));int t,r;if(a{t=a;a=b;b=t;}while((r=(a%b))!=0) {a=b;b=r;}return b;}int fun2(int a,int b) {int n;n=(a*b)/fun1(a,b); return n;}P158 3求完全数#includevoid wan(int n); void main(){int n;for(n=1;n<1000;n++) wan(n);printf("\n");}void wan(int n){if(n%i==0)s=s+i;}if(n==s)printf("%d\t",n); }P158 4⽆暇素数#include#includeint nixvshu(int n);int isPrime(int n);int main(){int n,t;printf("⽆暇素数:\n");for(n=100;n<=999;n++) {t=nixvshu(n);if(isPrime(n)&&isPrime(t)) printf("%d\t",n);}printf("\n");return 0;}int nixvshu(int n){int x=0;while(n){x=x*10+n%10;n=n/10;}return x;int i;for(i=2;i<=sqrt(n);i++)if(n%i==0) return 0;return n;}P158 7递归函数#includeint Y(int n){if(n==0)return 0;if(n==1)return 1;if(n==2)return 2;elsereturn (Y(n-1)+Y(n-2)+Y(n-3)); } int main(){int n,k=0;for(n=0;n<=19;n++){printf("%d\t",Y(n));k++;if(k%5==0)printf("\n");}return 0;}P124 6分解质因数#include#includevoid fenjie(int );int main(){int n;printf("请输⼊⼀个正整数:"); scanf("%d",&n);if(isPrime(n)){printf("%d=1*%d\n",n,n);}else{fenjie(n);printf("\n");}return 0;}int isPrime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0) return 0;}return 1;}int zhi(int n){int m;for(m=2;m<=n;m++){if(isPrime(m)&&(n%m==0)) break;void fenjie(int n){int m;printf("%d=%d",n,zhi(n));while(n>zhi(n)){m=zhi(n);n=n/m;printf("*%d",zhi(n));}}P47 1输出闰年#includeint f(int year);int main(){int year,k=0;for(year=1900;year<=2000;year++){if(f(year)){printf("%d\t",year);k++;if(k%5==0)printf("\n");}}return 0;}int f(int year){if((year%4==0&&year%100!=0)||(year%400==0)) return year;P47 2输出回⽂数#includeint fun(int n);int main(){int n,k=0;for(n=10;n<=2000;n++) {if(n == fun(n)){printf("%d\t",n);k++;if(k%5==0)printf("\n");}}return 0;}int fun(int n){int i=0;while(n>0){i=i*10+n%10;n=n/10;}return i;}P47 3进制转换#includevoid trans(int n,int base); int main()printf("请输⼊要转换的⼗进制数:"); scanf("%d",&n);printf("请输⼊转换的进制:"); scanf("%d",&base);trans(n,base);printf("\n");return 0;}(⽅法⼀)void trans(int n,int base){if(n){trans(n/base,base);if(n%base>=10)switch(n%base){case 10:printf("A");break;case 11:printf("B");break;case 12:printf("C");break;case 13:printf("D");break;case 14:printf("E");break;case 15:printf("F");break;}elseprintf("%d",n%base);}}(⽅法⼆)void trans(int n,int base){int r;char c;trans(n/base,base); r=n%base;if(r>=10)c='A'+r-10;elsec='0'+r;printf("%c",c);}}。
C语言函数题库及答案
C语言函数题库及答案第六部分函数一、单项选择题1.C语言中的函数返回值的类型是由(D)决定A.return语句中的表达式B.调用函数的主调函数C.调用函数时临时 D.定义函数时所指定的函数类型2.下面不正确的描述是(B )。
A.调用函数时,实参可以是表达式B.调用函数时,实参和形参可以共用内存单元C.调用函数时,将形参分配内存单元D.调用函数时,实参与形参的类型必须一致3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是( D )A.地址传递 B.值传递C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式4.下面的函数调用语句中含有( A )个实参int a,b,c;int sum(int x1,int x2);……total=sum((a,b),c);A.2 B.3 C.4 D.55.在C语言中( C )A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和调用均不可以嵌套C.函数的定义不可以嵌套,但是函数的调用可以嵌套D.函数的定义和调用均可以嵌套6.关于C语言中的return语句正确的是(C )A.只能在主函数中出现B.在每个函数中都必须出现C.可以在一个函数中出现多次D.只能在除主函数之外的函数中出现7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是( D)A. int a(float x[],int n)B. int a(float *x,int n)C. int a(float x[10],int n)D.int a(float x,int n)8.在C语言中,函数的数据类型是指( A )A.函数返回值的数据类型B. 函数形参的数据类型C.调用该函数时的实参的数据类型D. 任意指定的数据类型9.已知如下定义的函数:fun1(a){ printf("\n%d",a);}则该函数的数据类型是( C )A.与参数a的类型相同B.void型C.整型D.无法确定10.定义一个函数实现交换x和y的值,并将结果正确返回。
C语言程序设计实验六函数答案《西北民大电气学院》
实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
