| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:'\0' 疑惑?
只看楼主 加入收藏
Emerald
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-9
收藏
 问题点数:0 回复次数:4 
'\0' 疑惑?
学C的时候 做这道题目碰壁 请高手指点
 请指出执行结果
 #include <stdio.h>
#define N 3
#define M 5
int main()
{
    char c[N][M]={"1357","2468"},*p[2];
    int i,j,k=0;
    for(i=0;i<N;i++)
        p[i]=c[i];
    for(i=0;i<N;i++)
        for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)
            k=10*k+p[i][j]-'\0';    
    printf("%d\n",k);
    return 0;
}
'\0'没有ASCII值啊 怎么比较呢 难道是题目错了吗
我的答案是1526
但书上给出的答案是54854
搜索更多相关主题的帖子: 疑惑? 
2008-11-10 19:59
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
'\0',ascII=0.
2008-11-10 20:39
ayakashi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-11
收藏
得分:0 
ASCII码值为0,是ASCII码表的第一个字符

只要功夫深铁杵磨成针
2008-11-11 17:42
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
ASCII码值为0
2008-11-11 21:41
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
我认为下面代码有错误
for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)
            k=10*k+p[i][j]-'\0';
因为这题看起来是想把字符串当做数值来计算,那么就是1-9的数值,所以这两句应该是
for(j=0;p[i][j]>'0'&&p[i][j]<='9';j+=2)
            k=10*k+p[i][j]-'0';//p[i][j]-'0' 这样可以得到字符对应的阿拉伯数值

如果这样改,结果就是1526,如果不改成这样,结果就是54854
2008-11-11 22:30
快速回复:'\0' 疑惑?
数据加载中...
 
   



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

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