永发信息网

C语言二级问题

答案:6  悬赏:50  手机版
解决时间 2021-12-23 05:44
#include
main()
{
char s[]="ab\'cdefg\'",*p=s+1;
printf("%c\n",*(p++));
printf("%s\n",p+2);
}

printf("%s\n",p+2); *p=s+1=b *(p++)=b *p=' p+2移两位不就等于d了么? 为什么在VC6中得 defg'

先谢谢各位大侠了,由于小弟得提几十道这样的问题。。。只能给5分了,,不过好的回答我还是会追加的。。。
最佳答案
*(p++) 是解引操作,所以输出的是当前指针所指的那个字符。
而p+2则是从当前指针所指的位置开始把字符输出。
所以*(p++)输出的是b,而p+2是从d开始把数组的字符输出,既是从d开始输出,所以结果是defg'
全部回答
printf("%s\n",p+2);这个是输出从d到最后所有的字符串。 如果你想输出单个字符d,那就这样写:printf("%c\n",*(p+2));
试着做个小型系统什么的,这样学着会有目的性而且进步会很快,但是这样学不是很系统,建议先看一遍书掌握基本语法会更好,祝你成功。
%s是字符串,从d开始一直到最后的一串字符……
%s 是用来输出一个字符串的,*p=' p+2表示的是输出字符串的起始位置
s1,s2是指针,加二后指针后移两个字节,此时s1指向字符串为"bDeG",s2指向字符串为"bdEg",然后strcmp,结构就很明白了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
显卡插槽松了,怎么办
我市九嶷山景区溶洞多,紫霞岩就是其中之一,
当我20岁以后的时候,用英语怎么说
大家觉得《笑傲江湖》哪个版本是最好看的
人生的路啊,为什么总是充满了这样多的错过?
诗人贺知章的诗有哪些
带马字的轮胎多少种?
16颗凤眼菩提代表什么意思?
下列资源中,属于可再生资源的是A.石油、天然
楼层梁锚入支座是按板混泥土标号还是按墙柱的
ov7670和ov7620的区别
jdi,夏普,群创,天马,京东方哪个屏幕更好
取一粒浸软的玉米种子(果实),用刀片将种子
美国大行折叠自行车20寸车子好不好?
那个品牌的肉枣比较好吃,在哪里可以买到
推荐资讯
五菱之光多少公里要大修
起点积分怎么查看
1912年,图乙取代图甲成为中国的国旗。你认为
单选题目前,在欧美发达国家,哪一部分经济已
通榆县公安局交通管理大队地址在什么地方?想
成语什么的天河
请问,什么是42炮,怎么提高军人等级,我是冒险
AMD速龙II X4 640 配什么主板和显卡好 专业的
北京市十三陵风景名胜区大宫门村 在哪
打成轻伤最轻刑事拘留几天
女生喜欢男人的啤酒肚吗
Please________thepork,Jack.It_____
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?