-
flag?b[i]>b[j]:b[i]b[j],不执行第三句,在这种情况下按升序排序; 当 flag = 0 时,执行第三句 b[i]。
void f(int b,int n, int flag)int i, j, t;
for (i=0; ib[j]:b[i]main()
int a[10] = , i;
f(a, 10, 0);降。
for (i=0; i<10; i++)printf("%d ", a[i]);打印。
printf("");换行符。
f(a, 10, 1);升序。
for (i=0; i<10; i++)printf("%d ",a[i]);打印。
printf("");换行符。
-
上面你创建了一个数组 a,数组名称代表数组第一个元素的第一个地址,当你调用第一个函数时,你传递参数 has &a[2],这个参数表示第二个地址,而不是第一个地址,你的第二个参数是 5,所以你只能对第二个元素后面的 5 个元素进行排序! 第二个函数调用传递数组的第一个地址,但它也对 5 个元素进行排序,即从第一个元素中计数 5!
-
f(&a[2],5,0) 等价于按降序对数组 A 的第三到第七个元素进行排序。
f(a,5,1) 等价于上面排序的数组中第一个到第五个元素的升序。
数组 b 是一个形式参数,两个调用指向数组 a 的第三个元素和第一个元素的地址。
至于一次只安排五个,那是因为你自己设置了 n。
ps:数组的下表从 0 开始,所以第三个元素是 a[2]。
-
明显的死程序。
如果你更改了号码,你将无法离开。
按照他的方法,你在纸上画画,它就出来了!
打字是可以理解的。
-
这是函数的嵌套调用,子函数 sub 反复调用自身,从程序中,sub(1) 的值为 1,当 sub(2) = sub(1) + 2 = 1 + 2 时,同样的方式 sub(3) = sub(2) + 3,所以当 i = 5 时,sub(5) = sub(4) + 5
sub(3)+4+5
sub(2)+3+4+5
sub(1)+2+3+4+5
所以最终的输出是 15
首先,我会明确地告诉你,选项 c 是正确的,选项 A strcpy 是一个字符串复制函数,它可以将字符串 “China” 复制到字符数组 str2 中并覆盖 str1 中的 “beijing”,选项 c strcat 是一个字符串连接函数,可以将 “China” 连接到“beijng”的后面。 因此,C. >>>More
总结。 kiss 程序的输出是:“ababa”。
在程序中定义一个字符数组 a,并初始化为"ababa"。在 main 函数中,调用函数 f(&a[1]),即将 a[1] 的地址传递给函数 f,p 指向 a 数组中第二个字符“b”的地址。 然后,在函数 F 中,使用 for 循环将字符串(即字符数组)P 遍历到字符串,并使用 if 语句确定它是否为小写字母,如果是,则从字符的 ASCII 代码中减去 32 以将其转换为相应的大写字母。 >>>More