void f(int a) { if(a<0){ cout<<“-”; a=-a; } cout<< char(a%10+’0’); if((a=a/10)!=0)f(a); } main() { int a=-3567; f(a); cout<<’\n’; a=3456; f(a); cout<<“\n”; } 执行以上程序后,输出结果的第一行是________;第二行是________。 相关知识点: 试题来源: 解析...
有以下程序: void f(int a[ ],int i,int j) { int t; if(i<j) { t=a[i]; a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main( ) { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”); } 执行后输出...
void f();void f(int a){ ...} 原因也是简单的,void f(); 定义的函数 f() 可以接收任意多的参数,而 void f(int a); 定义的函数 f() 只能接收一个 int 型的参数,编译器为了不违背二者,只好让函数 f() 只接受一个 int 型参数了。欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显...
void test(int, int)声明一个test函数需要2个整型的变量,并不做实际的工作。声明时可以不指定形参变量,因为编译器不为其分配空间保存。void test(int a, int b)是定义一个test函数,被调用时,需要保存传过来的实参值。题目的要求只是想说明:函数中两个参数的类型。至于函数中参数的名称(就是你...
unsignedinta=6; intb=-20; (a+b>6)?puts(">6"):puts("<=6"); } 解析:这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是">6"。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20...
int f(void); //函数声明 int f(void){ return 1; } //函数定义 函数声明的时候,参数只用有类型就可以,当然你有参数名也是可以的,所以int f(void)和int f()是一样的,int f(int n)和int f(int)是一样的,甚至你可以在声明的时候int f(int n);在定义的时候int f(int a){ ret...
已知函数f的原型是:void f(int*a,long &b);,变量v1、v2;的定义是int v1;long v2;正确,的调用语句是
有以下程序 #include <stdio.h> void fun(int a[],int n) int i,t; for(i=0;i<n/2;i++) t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; main() int k[10]=1,2,3,4,5,6,7,8,9,10,i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); 程序的运...
函数定义时f(void)与f()一样,表示函数f没有参数,函数定义以外,f(void)表示函数f没有参数,f()表示函数f可以有任意数量和类型的参数,C语言不支持f(...)的写法。structA是一种类型,这个函数有一个structA型的参数t。
有以下程序: void fun(int a,int b,int c) { a=456,b=567,c=678;} main( ) { int x=10,y=20,z=30; fun(x,y,z); printf(“%d,%d,%d\n”,x,y,z);} 输出结果是 A. 30,20,10 B. 10,20,30 C. 456,567,678 D. 678,567,456 ...