| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1105 人关注过本帖
标题:\n是一个字符还是两个?
只看楼主 加入收藏
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:19 
\n是一个字符还是两个?
char str[]=“Yes\n/No”,*ps=str;   puts(ps+4);*(ps+4)=0;puts(str);  手机上的,所以就打了主要部分,结果输出的是什么?为什么我想出的结果跟四个选项都不同?\n是一个字符还是两个?求高手帮小弟解决下啊!
搜索更多相关主题的帖子: 字符 
2010-06-10 08:56
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
收藏
得分:0 
来个高手帮帮忙啦!
2010-06-10 09:35
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
\n是转义字符,当然算一个字符了。
所以第一个输出是:/No
*(ps+4)=0;这句把\n换成了0,其中0是ascII码为0的字符,也就是字符串结束标志,楼主可能看成了字符'0'了。
所以第二个输出为:Yes
2010-06-10 09:55
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
收藏
得分:0 
原来是这样,确实把0看成字符0了,但应该是把\的值赋为0吧?
2010-06-10 10:03
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
是把\n赋值为0,因为\n是一个字符
2010-06-10 10:04
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
收藏
得分:0 
ps+4不是指向第5个元素了吗?
2010-06-10 10:11
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
收藏
得分:0 
刚才在4楼写错了,*(ps+4)不是等于/吗?然后被赋值为0?
2010-06-10 10:33
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
不知道楼主是不是要这种情况:
 #include"stdio.h"   
main(){
       char str[]="Yes\n/No";
       char *ps;
       ps=str;
       puts(ps+4);
       *(ps+4)=0;
       puts(str);
图片附件: 游客没有浏览图片的权限,请 登录注册

   }
2010-06-10 10:36
hexu2010
Rank: 2
等 级:论坛游民
帖 子:29
专家分:35
注 册:2010-2-13
收藏
得分:0 
嗯,但应该不是把\n赋值0吧?应该是把\n后面的/赋值0吧?
2010-06-10 10:42
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
char str[]="Yes\n/No";按你理解str[]中[]是多少啊
2010-06-10 10:49
快速回复:\n是一个字符还是两个?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046519 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved