求解c语言程序题

如题所述

这题有点无厘头啊,
首先看以一个循环 就是 i=0开始,找到和*a == b[i]
a是“you”的首地址,那么*a = 'y'的
那么b[7] = ‘y’
也就是说 if(*a == b[i])成立时,i=7,b[i] = 'y'

那么我们再看 if里面的循环for(j = i; *p!='\0';j++)
{
if(*p != b[j]) break;
p++;
}
因为p=a的,那么*p=‘y’,b[j] = 'y' p++之后 *p =‘o’ ,而j++之后,b[j] ='o',那么会一直运行到“you”的结尾 ,最后 *p = '\0'

然后 if(*p == '\0')成立 那么跳出大的循环

最后因为i=7 那么printf("%s",&b[i]); 就是从b[7]开始往后输出 也就是 you to china!
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-03-13
答案不是有了还拿出来解。追问

可是我不知道怎么得的啊

程序看不懂

追答

学校学的到出来也只有一部分有用其他没用的,太久了忘掉了。

C语言程序分析题 大佬救救我?
分析:第一段程序使用for循环,每一次循环时,都对变量进行了初始赋值,即i=1,j=1,k=1。就是说,嵌套的内循环变量,如j,k都是从1开始的。而第二段程序使用while循环,循环开始时,没有对对变量进行了初始赋值,即j,k只有第一次循环时,初始值是1,当第二次循环时,最内层的k=5,内循环已经...

求解C语言程序输出题,如图,谢谢。
结果:a=-1 解析:本题目主要考了if-else语句,include<stdio.h> void main(){ int a=100, x=10, y=20, ok1=5, ok2=0;if(x<y) \/*10<20满足条件,执行下边的*\/ if(y!=10) \/*20不等于10,满足条件,继续执行*\/ if(!ok1) \/*对5取反,那么是0,那么不执行下边,而执行else*...

求解C语言基础题。
一、平台:数组中连续相等的元素就是一个平台。二、最长平台:就是在所有平台中找出最长的那个。三、方法不止一种,从完整程序思路,至少包含一个实现功能的函数及打印输出的函数。下面是我写的演示代码:遍历数组,找出最长平台,返回其在数组中起点和终点位置(返回值是指针数组)。异常直接抛出自行处理。

求解c语言问题
形式一:就是从1开始自增,自增次数是二维元素个数。形式二:[a,b],其中a表示行数,b表示列数。形式三:[a,b],其中a与行数有关,b与列数有关。在循环中a初值取(行数\/2)并自减,b初值取(列数\/2*-1)并自增。代码实现方式很多。这里题目指定要二维数组,但没有指定是什么类型的二维...

C语言题目求解决 要程序
代码如下:\/\/第一题#include <stdio.h>#define N 255void str_delete(char s[],char x){int i,j,len;i=0;while(s[i]!='\\0'){if(s[i] == x){for(j=i+1;s[j]!='\\0';j++)s[j-1]=s[j];s[j-1]='\\0';i=0;}elsei++;}}int main(){char str[N],ch;printf(...

求解c语言题:输入一个任意的三位数,将其各位数字反序输出(例如输入123...
代码如下:include <stdio.h> void main( ){int a,b,c,d;scanf("%d",&a);b= a\/100;c= (a%100) \/10;d=a%10;printf("%d",100*d+10*c+b);}

C语言题目求解
程序思路:先对总数组按年龄从大到小(相同年龄按登记号从小到大)排序。这样老年人部分就直接排序完成,并且在整个队列的前部。之后再对后半部分(非老人)按登记号从小到大再次排列。这样整个数组顺序便是题目想要的顺序。一、初始化函数(或者说是登记函数),定义结构数组,并用随机数填充数组。(...

c语言题目求解。
这个问题没有啥难度,首先,把程序的格式调整一下: if(a[i]){ if(first) first=0; else printf(" "); \/\/1 printf("%d",i); \/\/2}printf("\\n"); \/\/3 下面,这个就很好分析了,程序中共有3个printf语句: (1)对于1来说,只有程序走else分支,才会执行(2)对于2来说,只有a[i]...

c语言程序设计题:使用for语句实现求解10!的值
1.作为示例,以求解下面数学式为例:SUM = 1 - 3 + 5 - 7 + ...-99 + 101;首先,需要分析数学规律,就数学式中每一项的绝对值而言,可以看成 a(n) = 2 * n - 1 其中,n = {1,2,3...51},而就每一项的符号而言,可以发现,当 n 为偶数时,对应的项为负号;当 n 为奇数...

C语言程序运行题,求运行结果,这两道题的程序是怎么运行的,求解?
f(1): [x=1],x==0||x==1成立返回:3 f(3): y=x*x-3=3*3-3=6,返回: 6 z=6; printf输出:6 第4题:a=3,b=5, swap1(&a,&b): p指向a,q指向b,交换a和b的内容,a=5,b=3,返回 printf输出:a=5,b=3 swap2(a,b): 临时变量a=5,临时变量b=3,临时变量b=5,...

相似回答