设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
急求此C语言题的解题方法!多谢!
返回列表
发新帖
急求此C语言题的解题方法!多谢!
[复制链接]
11
|
1
|
2010-3-14 17:23:23
|
显示全部楼层
|
阅读模式
char sa[7] = "ABC\0TV";这一句中的"\0"是字符窜中的结束标记,输入字符串的时候,系统自动在末尾添加一个"\0"作为字符串结束标记,所以在内存中存储的数据是:ABC\0TV\0printf("%s", sa);这句从A开始输出,遇到第一个 \0 结束输出 所以输出 ABCprintf("%s", sa+1);这句从B开始输出,遇到第一个 \0 结束输出 所以输出 BCprintf("%s", sa+4);这句从T开始输出,输出到最后,所以输出 TV结果就是ABCBCTV
回复
使用道具
举报
千问
|
2010-3-14 17:23:23
|
显示全部楼层
这个很简单嘛,首先我们要知道'\0'在c语言的字符串中表示字符串的结尾 ,然后输出printf("%s", sa);就是输出sa指向的sa[0]后的字符串直到遇到字符串结束。若果我们不加\0的话,系统会自动在字符串的结尾做\0的标志。所以第一次输出ABC。第二次输出sa[1]以后的字符串,输出BC,第三次输出sa[4]以后的字符串,就输出TV
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行