以下两道题小白求大神解释27. 以下程序的运行结果是().main(){ int a[]={1,2,3,4,5,6}, *p=a; *(p+3)+=2;printf("%d",*(p+3));} A.2 B. 3 C.5 D.6 28. 以下程序的运行结果是().main(
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 05:37:27
以下两道题小白求大神解释27. 以下程序的运行结果是().main(){ int a[]={1,2,3,4,5,6}, *p=a; *(p+3)+=2;printf("%d",*(p+3));} A.2 B. 3 C.5 D.6 28. 以下程序的运行结果是().main(
以下两道题小白求大神解释
27. 以下程序的运行结果是().
main()
{ int a[]={1,2,3,4,5,6}, *p=a;
*(p+3)+=2;
printf("%d",*(p+3));
}
A.2 B. 3 C.5 D.6
28. 以下程序的运行结果是().
main()
{ char s[]="abcdefg",*p=s+2;
p[3]='\0';
printf("%s\n",p);
}
A.abc B. cde C. bce D.def
求解答过程
以下两道题小白求大神解释27. 以下程序的运行结果是().main(){ int a[]={1,2,3,4,5,6}, *p=a; *(p+3)+=2;printf("%d",*(p+3));} A.2 B. 3 C.5 D.6 28. 以下程序的运行结果是().main(
27.输出6
因为p指向a的起始地址,*(p+3)即是a[3](存放着4),
*(p+3)+=2;即是a[3]=a[3]+2;
最后即是输出a[3].
28.输出cde
因为*p=s+2;定义一个字符指针,并初始化为指向s[2](存放着'c'),p[3]='\0'即把s[5](即原存放‘f'的单元)置为‘\0’即字符串尾了.所以最后的输出就从c开始向后直到'\0'前一个字符结束.