求大神解答一下这道c语言题目

求大神解答一下这道c语言题目main()
{ static struct s1
{ char c[4],*s; } s1={“abc”,”def”};
static struct s2
{ char *cp;
Struct s1 ss1;
} s2={“ghi”,{“jkl”,”mno”}};
printf(“%c%c\n”,s1.c[0],*s1.s);
printf(“%s%s\n”,s1.c,s1.s);
printf(“%s%s\n”,s2.cp,s2.ss1.s);
printf(“%s%s\n”,++s2.cp,++s2.ss1.s);
}

printf(“%c%c\n”,s1.c[0],*s1.s);
输出:ad
连续打印两个字符:
第一个是s1.c的第一个字符,也就是'abc'的第一个字符:a
第二个是s1.s指向的字符,也就是'd'
printf(“%s%s\n”,s1.c,s1.s);
输出: abcdef
连续打印两个字符串,这个没什么好说的
printf(“%s%s\n”,s2.cp,s2.ss1.s);
输出:ghimno
连续打印两个字符串,这个也没什么好说的
printf(“%s%s\n”,++s2.cp,++s2.ss1.s);
输出:hino
连续打印两个字符串,这个和上面一句的区别是字符串的首地址不同。
本来s2.cp是指向'ghi'的,现在++s2.cp使得指针向后移动了一位,也就指向了'hi'。
++s2.ss1.s也是同样的道理。

追问

请问第三行是什么意思

温馨提示:内容为网友见解,仅供参考
无其他回答

请高手帮我解决一下这道C语言题目,谢谢!
s=fun(3)=3-fun(3-1)=3-fun(2)=3-2=1 所以选A.

一道C语言题目,看图~大神帮忙解答下吧!急急急急急!!在线等
答案是D 在C语言中数组赋值可以如A,那样,【】里面定义了长度5{}中有最大不超过5个值,则赋值成功 B在5个数值之内所以也是正确的 答案C,就是另外中赋值方法,在【】中不定义长度,因此数组a[]的实际长度取决于{}中的值的数量,也就是说在C答案中有5个0作为数值,因此C答案中的a[]的实际...

一道c语言题目 求大神指点下算法?
根据题意,随机生成红绿蓝球任意个数,并任意顺序排列。这里采用随机数实现。统计按红绿蓝顺序排列最少交换次数,我的思路是:第一步:循环将最后一个红色球与最靠前的其它两色球(并且满足位置在红球之前)交换。第二步:循环将最后一个绿球与最靠前的蓝球(必须在绿球之前)交换。include <stdio.h> ...

求大神解答这道c语言题
一次在执行一次循环之后x[0]的值会变为2,而*p因为后移了一位指向了x[2],一次类推,执行完成后*p指向了x[5],所以*p为5,而x[]={2,4,6,8,5}

谁能帮我解释一下这道c语言题目啊 不懂
1.转换说明符 a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)c 字符 d 有符号十进制整数 f 浮点数(包括float和doulbe)e(%E) 浮点数指数输出[e-(E-)记数法]g(%G) 浮点数不显无意义的零"0"i 有符号十进制整数(与%d相同)u 无符号十进制整数 o 八进制...

C语言的一道题不会做了,求大神帮一下
第一题: a=4,b=8, 所以 (b==a) 为假,假就是 0,c= (b==a); c 得 0。语句中 a,b 数值 未发生过变化,保持初始值 a=4,b=8。所以输出 a,b,c 印出: 4,8,0 第二题:输入58,a=58;a>50 的条件成立,输出a值,印58 a>40 的条件成立,输出a值,印58 a>...

请高手帮我解决一下这道C语言题目,谢谢!
a的地址传给n,while 把a的值变为 -1,因为while跳出循环的条件是0,而测试的是减一之前的a,所以a的值变为-1了,输出之前,a的值又被加为0,所以结果是 0

请高手帮我解决一下这道C语言题目,谢谢!
p++;\/\/更新指针即p指向s[下一个]a=a\/5;\/\/a整除5 } while(a>0);\/\/a大于0循环 p='\\0';\/\/防止程序出错 puts(s);\/\/输出数组 } 第一轮循环 s[0]=12+55=67='C' a=5 第二轮循环 s[1]=5+48=53='5' a=1 第三轮循环 s[2]=1+48=49='1' a=0 注:s是字符数组,输入...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...

C语言题目,求大神解答
p=aa;\/\/p指向数组aa首地址,即a的位置 当i=0时,会执行 if ( i==0 ) aa[i][i+1]=**(p++); \/\/这时p=p+1,p指向了aa数组的第二行首地址,即d所在位置,所以,printf("%c\\n", **p ); 输出d 答案为C

相似回答