关于一个简单的C语言程序分析,求输出的内容。

include<stdio.h>chara[]="asddd";char*p=mingzi;main(){for(i=0;i<5;i++){p++;printf("*p的... include<stdio.h>

char a[]="asddd ";
char *p=mingzi;
main( )
{
for(i=0;i<5;i++)
{ p++ ;
printf(" *p的值是: %c\n", *p);
}
return 0;
}

请问输出内容是多少?
上面的第三行程序要修改成char *p=a;如下:
include<stdio.h>
char a[]="asddd ";
char *p=a;
main( )
{
for(i=0;i<5;i++)
{ p++ ;
printf(" *p的值是: %c\n", *p);
}
return 0;
}

请问输出内容是多少?
展开
 我来答
h694251068k
2013-05-30
知道答主
回答量:7
采纳率:0%
帮助的人:5.5万
展开全部

第一部分:

  *p的值是: i

  *p的值是: n

  *p的值是: g

  *p的值是: z

  *p的值是: i

第二部分:

  *p的值是: s

  *p的值是: d

  *p的值是: d

  *p的值是: d

  *p的值是:

百度网友83cdc1c
2013-05-30 · TA获得超过5792个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:859万
展开全部
*p的值是: s
*p的值是: d
*p的值是: d
*p的值是: d
*p的值是: 空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5722492f7
2013-05-30 · TA获得超过725个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:479万
展开全部

你这程序错误一堆。

自己看吧。因为p++ ;在前。


 

因为你循环五次,但是字符串只有5个,所以第五次越界了,内存中为空。但是如果原本这块内存有东西,那么就不一定是什么了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金水金名
2013-05-30 · 超过10用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:27.1万
展开全部
首先说一下代码错误的地方:1、include前面要#;2、main()前面最好加int;3、i还没有定义,在for之前定义吧。
然后,输出的内容是“sddd ”,因为*p指向a,for循环进去后先p++了,这时候的p指向a的第二位,也就是s,for循环输出5位,所以是“sddd ”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式