| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:程序很简单,但是错的很神奇。错的很奇葩。
取消只看楼主 加入收藏
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
结帖率:100%
收藏
 问题点数:0 回复次数:3 
程序很简单,但是错的很神奇。错的很奇葩。
代码如下:
#include <stdio.h>
int main(void)
{
    int i;
    char *p,c[20];
    for(int j=0;(c[j]=getchar())!='\n';j++);
    p=c;
    for(i=0;*(p+i)!='\0';i++)
    ;
    printf("%d \n",i);
   
    return 0;
}


程序目的是不用strlen测出输入字符的长度, 我用scanf("%s",c);成功实现, 不过换成那个第六行的for语句后不管输入什么最后i输出都是23.。。这是为什么呢- -
 这次真迷茫了。。
搜索更多相关主题的帖子: return include 
2012-11-10 22:03
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
已解决。。
第八行改成
 for(i=0;*(p+i)!='\n';i++)
就成功了- -  

去追寻更高的技术领域。永不停止。
2012-11-10 22:06
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
以下是引用embed_xuel在2012-11-10 22:19:52的发言:都有j了,为啥还要再用个for循环呢

因为题目要求用指针。。

去追寻更高的技术领域。永不停止。
2012-11-11 06:21
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
以下是引用fu2751653在2012-11-11 00:00:02的发言:
目测也多了个;啊


没有吧 两个for设计的就是空的。都在括号里执行了。

去追寻更高的技术领域。永不停止。
2012-11-11 06:23
快速回复:程序很简单,但是错的很神奇。错的很奇葩。
数据加载中...
 
   



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

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