| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:问一个关于指针的问题,我对指针是文盲啊。
只看楼主 加入收藏
roje123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-22
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
问一个关于指针的问题,我对指针是文盲啊。
编写一程序,要求从键盘中任意输入一字符串, 要求用指针访问该字符串,求出字符串的长度。

一定要是用指针访问该字符串,这个把我搞糊涂了,。如果不用指针的话我可以很快做出,用string最简单了,嘻嘻。但是问题是指针啊!

   高手的教一下,不要喷我,每个人都有一个过渡阶段吧!
搜索更多相关主题的帖子: 指针 文盲 
2010-06-23 00:23
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
收藏
得分:5 
#include<stdio.h>
int main(void)
{
    char a[200],*s;
    int n=0;
    s=a;
    printf("Input a string\n");
    gets(s);
    while(*(s++)!='\0')
    {
        n++;
    }
    printf("The string lenth is %d",n);
}
2010-06-23 01:10
roje123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-22
收藏
得分:0 
回复 2楼 Spygg
如果不计空格,只计算有效字符应该怎么改?
2010-06-23 01:30
wxwx5566
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2010-6-22
收藏
得分:0 
接2楼的
while(*(s++)!='\0')
    {if(*s!='\0')
        n++;}
我想了想,还想是这么做的,要是错了还希望指正!
2010-06-23 01:51
starjun14
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:266
专家分:136
注 册:2009-4-26
收藏
得分:0 
学习了
2010-06-23 07:22
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
收藏
得分:0 
呵呵,那还不简单
while(*(s++)!='\0'&&*(s++)!=' ')//多加上判断空格的就是了
    {
        n++;
    }
2010-06-23 09:14
yao_210162
Rank: 2
等 级:等待验证会员
帖 子:33
专家分:18
注 册:2009-6-8
收藏
得分:5 
回复 6楼 Spygg
六楼你那样做遇到空格就不会统计后面的字符了、是错误的、!像四楼的兄弟那样做才正确、!

while(*s!='\0')
{
    if (*s!=' ')
        n++;
}


附上我的代码(用指针统计字符串中的非空格字符个数):

#include <stdio.h>

void main()
{
    char s[100],*p;
    int n=0;
    gets(s);
    for (p=s;*p!='\0';p++ )
        if (*p!=' ')
            n++;
    printf("Not Space char Number :%d\n",n);
}
2010-06-23 12:29
z51315
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2010-6-23
收藏
得分:0 

  六楼那样怎么不可以
   我 就是经常那么用的哈
2010-06-23 14:03
快速回复:问一个关于指针的问题,我对指针是文盲啊。
数据加载中...
 
   



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

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