求解C语言题,分析
1.设charch='a';,执行printf("%d,%c\n",ch,ch+2);后的输出结果是()?2.执行语句for(i=10;i>0;i--);后,变量i的值是...
1. 设char ch='a';,执行printf("%d,%c\n",ch,ch+2);后的输出结果是( )? 2. 执行语句for(i=10;i>0;i--);后,变量i的值是( )? for语句格式是for(初值;条件;增值);语句;这道题括号后面没有语句;还能循环吗? 3. 若定义了char ch[]={"abc\0def"},*p=ch;则执行printf("%c",*p+4);语句的输出结果是( )?
4.设char *s="abc";,则while(*s!='\0'){printf("W");s++;}的输出结果是( )?
5. 在C语言中,当调用函数时,实参是一个数组名,则函数传送的是数组的( )? 麻烦分析一下,太感谢了! 展开
4.设char *s="abc";,则while(*s!='\0'){printf("W");s++;}的输出结果是( )?
5. 在C语言中,当调用函数时,实参是一个数组名,则函数传送的是数组的( )? 麻烦分析一下,太感谢了! 展开
4个回答
展开全部
1、%d表示以整数形式输出,对字符'a'来说,整数形式就是它的ASCII码也就是97;%c表示以字符形式输出,ch+2就是ASCII码为99的字符即'c'。答案:97,c
2、for循环分为3个语句,以两个分号间隔,其中语句1(i = 10)只执行一次,然后检查是否满足语句2(i > 0), 这是循环得以继续的条件,一旦不满足这个条件,就跳出循环。再执行跟在for循环之后的语句,我们称为循环体,一般是{}里的代码,但这里没有任何语句,直接就;结束,所以就跳过这一步,然后执行语句3(i--),就是i减1了,此时i = 9,以后都按这样的顺序进行:2->循环体->3->2->循环体->3....直到不满足条件2为止,结束循环。所以,当i减少到1的时候还满足2条件,继续循环体,再执行3语句,此时i变成了0,检查条件2,发现不满足就跳出了循环,所以答案是0
3、char ch[] = {"abc\0def"}定义了一个字符数组ch,*p=ch定义了一个p的字符指针,指向了ch的首地址,*p其实是字符a, 所以*a+4就是'e'
4、WWW 5、首地址
2、for循环分为3个语句,以两个分号间隔,其中语句1(i = 10)只执行一次,然后检查是否满足语句2(i > 0), 这是循环得以继续的条件,一旦不满足这个条件,就跳出循环。再执行跟在for循环之后的语句,我们称为循环体,一般是{}里的代码,但这里没有任何语句,直接就;结束,所以就跳过这一步,然后执行语句3(i--),就是i减1了,此时i = 9,以后都按这样的顺序进行:2->循环体->3->2->循环体->3....直到不满足条件2为止,结束循环。所以,当i减少到1的时候还满足2条件,继续循环体,再执行3语句,此时i变成了0,检查条件2,发现不满足就跳出了循环,所以答案是0
3、char ch[] = {"abc\0def"}定义了一个字符数组ch,*p=ch定义了一个p的字符指针,指向了ch的首地址,*p其实是字符a, 所以*a+4就是'e'
4、WWW 5、首地址
展开全部
char
c;
c=0362;以0开头的数字表示八进制。所以0362,其实是十进制的242,十六进制的0xf2。因为c是有符号类型的,最高位为1表示负数,十六进制的0xf2就是-14的补码,所以显示的是-14
c;
c=0362;以0开头的数字表示八进制。所以0362,其实是十进制的242,十六进制的0xf2。因为c是有符号类型的,最高位为1表示负数,十六进制的0xf2就是-14的补码,所以显示的是-14
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、97,c
2、0
3、e
4、WWW>5、地址(或 首元素的地址)。
void XXX(char* ch);
ch为数组名 *ch 为指针
2、0
3、e
4、WWW>5、地址(或 首元素的地址)。
void XXX(char* ch);
ch为数组名 *ch 为指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
97,c
0
能
e
eWWW
首元素的指针
0
能
e
eWWW
首元素的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询