| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:请问此代码结果为何为 3??编译器在读取字符串时不是\0为结束标志吗?
只看楼主 加入收藏
刘燕媚prince
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2013-5-25
结帖率:88.24%
收藏
 问题点数:0 回复次数:10 
请问此代码结果为何为 3??编译器在读取字符串时不是\0为结束标志吗?
#include "stdio.h"
main()
{
    int  j;
    char *s="x\035\'";
    for(j=0; *s++; j++)
        ;
    printf("%d\n",j);
}
搜索更多相关主题的帖子: 字符串 编译器 include 标志 
2013-06-01 07:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
\ 代表转义符  此题结果不确定 此代码有问题

DO IT YOURSELF !
2013-06-01 07:13
刘燕媚prince
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2013-5-25
收藏
得分:0 
回复 2楼 wp231957
请问您觉得哪里出现问题??
2013-06-01 07:28
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不知道  谁知道你想测试字符串 还是想测试转义符啊  弄不懂呢

DO IT YOURSELF !
2013-06-01 07:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include "stdio.h"
void main()
{
    int  j;
    char *s="x\\035\\'";
    for(j=0; s++,*s!='\0'; j++)
        printf("%s\n",s);
    printf("%d\n",j);
}
你不防测试一下这个 看看能运行出来点虾米

DO IT YOURSELF !
2013-06-01 07:36
刘燕媚prince
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2013-5-25
收藏
得分:0 
回复 4楼 wp231957
那么,如果我想测试的是字符串,我应该怎么改写?
如果我想测试的是转义符,我又应该怎么改写?
2013-06-01 07:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用刘燕媚prince在2013-6-1 07:38:49的发言:

那么,如果我想测试的是字符串,我应该怎么改写?
如果我想测试的是转义符,我又应该怎么改写?
看5楼  这2个都测试了

DO IT YOURSELF !
2013-06-01 07:39
刘燕媚prince
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2013-5-25
收藏
得分:0 
回复 5楼 wp231957
不懂不懂耶!!!你的程序运行到\0怎么还输出啊???
2013-06-01 07:49
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
你定义的字符串里面实际包含了4个字符,用16进制表示为
78,1d,27,0
分别是x,\035,\',以及自动添加的\0
当遇到0之前,循环执行,因此一共执行了3次循环,所以j就是3

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-01 09:04
hsjjgm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:189
注 册:2013-4-27
收藏
得分:0 
学习
2013-06-01 10:43
快速回复:请问此代码结果为何为 3??编译器在读取字符串时不是\0为结束标志吗? ...
数据加载中...
 
   



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

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