-
房东想输出GFEDCBA,对吧?
像这样更改它会很好:
#include
#include
void fun (char*w,int m)char s,*p1,*p2;
p1=w;p2=w+m-1;
while(p1s=*p1;
p1=*p2;
p2=s;p1++;
p2--;main()
char a="abcdefg";
fun(a,strlen(a));
puts(a);
因为你有 s=*p1++;在 while 循环中这一步完成后,p1的地址加了一,所以第一个字母没有改变,*p1=*p2--;把 g 放在第二个位置,p2 的地址减少了 1, *p2=s;把 A 放在倒数第二个位置...... 重复这个循环,你就会得到这个结果。
-
输出: c=0, x=4
因为 x>y 是假的,所以 (x>y)&&x) 的总值为 0;同时,由于答案已经确定,后续判断(++x)无需再次检查。 因此,x 的值仍为 4。
-
值 4>9 对于 (x>y) 为 false。
如果左值为 false,则计算中不涉及右值。 Sue memory x 不会添加自己。
所以输出是。
c=0,x=4
-
这是一个阶乘函数,也是一个递归函数。 以下是对该程序工作原理的分析:
首先,调用函数 whatfunction,并传入参数 4,参数 4 替换变量。 此时,if 语句确定变量不是 0,因此它进入第一个递归调用:返回 4 次 whatfunction(3)。
在这种情况下,参数 3 将替换形式参数变量,if 语句确定该变量不是 0,因此它进入第二个递归调用:return 3 times whatfunction(2)。
在这种情况下,参数 2 将替换形式参数变量,if 语句确定该变量不是 0,因此它进入第三个递归调用:return 2 times whatfunction(1)。
在这种情况下,参数 1 将替换表单参数变量,if 语句确定该变量不是 0,因此它进入第四次递归调用:return 1 times whatfunction(0)。
在这种情况下,参数 0 将替换形式参数变量,if 语句确定变量为 0,因此返回 1,递归函数进入回归。
函数返回返回 1 * whatfunction(0),值为 1*1=1,函数回归返回 1,返回 2 * whatfunction(1),值为 2*1=2,函数回归返回 2,返回 3 * whatfunction(2),值为 3*2=6,函数回归返回 6,返回返回 4 * whatfunction(3),其值为 4*6=24, 函数回归返回 24,此时函数运行终止,因为没有更多的递归调用等待返回值。
-
它分为 4 轮。
在第一轮中,CS 是 2,然后 CS-2 是 0 和 0 的分支。 在遇到中断之前,将输出两个 cs+4,即两个 6。
第二轮,陆粗CS为4,则CS-2为2,去2的分支。 在遇到中断之前,它会输出 1 CS+4,即 1 8。
在第三轮中,CS 为 7,然后 CS-2 为 5,并采用默认分支。 它将输出 1 CS+2,即 1 9。
在第 4 轮中,CS 是 3,然后 CS-2 是 1,然后转到 1 的分支。 在遇到休息之前,将输出两个 cs+4,即两个 7。
因此,总输出为 668977,选择 A。
-
这应该是主程序闵宋逻辑图,第一步淘汰型p=1*3; 然后判断 1<4,所以 k=2; p=3*4;然后判断 2<4,所以 k=3; 则 p=12*5; 然后是 Nachai 3<4; 所以 k=4; 则 p=60*6; 则 4==4,所以 p=360
-
显然,这是一种选择。 每次,最大的排都会被选为最前面。
假设数组中的第一个数字最大,并将其分配给 q,当您发现有一个比这个数字更大的数字时,将这个较大的数字分配给 q,并将其与后面的所有数字进行比较后,q 是最大的数字。
如果在随后的比较中没有找到大于 q 的数字,即在 p=i 的情况下,则无需交换。
如果后面有一个更大的数字,即 if(q,那么我必须交换两个数字,并交换前面的最大数字。
最后,从大到小形成顺序。
-
“如果 i 不等于 p,则交换 a(p) 和 a(i) 的值 - 这意味着什么”。
根据一个循环的结果,最大值将按从大到小的顺序排列。
当数据在数据中仅次于仓位时,无需更改数据的位置。
否则,将该最大值交换到当前位置。
-
这是排序的想法,应该是交换排序。
我同意我楼上说的加{}来划分级别,但是,其实没有{},看看你发的这个**的缩进关系,也可以看出if和else的对应关系。 >>>More
C 说相反,feof 在文件的尾端时返回 true(非 0 值),当它不在尾端时返回 false (0)。 如果你不仔细阅读问题,你就读错了。 >>>More