| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2354 人关注过本帖, 1 人收藏
标题:如何用指针计算字符串的个数
只看楼主 加入收藏
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:7 
如何用指针计算字符串的个数
从键盘输入一个字符串!
如何用指针计算字符串的个数!
搜索更多相关主题的帖子: 指针 字符 
2010-04-17 08:41
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:3 
#include"stdio.h"
 int  yy(char *p);
 main()
 {
   int s;
  char a[100];
   gets(a);
   s=yy(a);
   printf("%d",s);
   getch();
 }
  int  yy(char *p)
{
    int i=0;

   while(*p!='\0')
   {
     p++;
     i++;
   }
   *p='\0';
   return i;
}
2010-04-17 09:47
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
收藏
得分:0 
有没有更简单的!
比如指针相减可以得到!
我是用指针动态存储字符串
比如要输入10个字符!
如果大于10个字符就报错!其他代码我都写好了!就差怎么用指针计算字符个数!
2010-04-17 11:16
ubuntulover
Rank: 4
等 级:业余侠客
帖 子:77
专家分:256
注 册:2010-4-9
收藏
得分:2 
看了楼主在第三楼的回复,才明白楼主是什么意思。你可以试一下strncpy这个函数,它可以将你规定个数的字符复制到你分配的空间中(这样你也不用报错了)。具体该函数原型如何,怎样使用,lz可以自己查查,这样印象更深。而且也许strlen这个函数你也会用到
2010-04-17 12:43
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
收藏
得分:0 
这方法可以,意思就和我说的不一样了
2010-04-17 14:36
a654548060
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-3-30
收藏
得分:3 
#include <iostream.h>

void main()
{
    int i=0;
    char a[100];
    cin>>a;
    char *p=a;
    for(;*p!=NULL;p++)
    {
        i++;
    }
    cout<<"该字符串的个数"<<i<<endl;
}
2010-04-17 15:01
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int i = 0,n;
    printf("请输入最多要输入多少个数字字符\n");
    scanf("%d",&n);
    char * p = (char *)malloc(n*sizeof(char));
    printf("请输入数字符串");
    scanf("%s",p);
    while (*p != NULL) //为什么编译器一直报这里有个warning
    {
        i++;
        p++;
    }
    if (n < i)
    {
        printf("输入的数字字符个数不符\n");
    }
    else
    {
        printf("输入的字符是%d个\n",i);
    }
    return 0;
}

2010-04-17 15:41
a654548060
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-3-30
收藏
得分:2 
#include <iostream.h>
#include <stdlib.h>
int main(void)
{
    int i = 0,n;
    cout<<"请输入最多要输入多少个数字字符";
    cin>>n;
    char * p = (char *)malloc(n*sizeof(char));
    cout<<"请输入数字符串";
    cin>>p;
    while(*p!=NULL) //为什么编译器一直报这里有个warning
    {
        i++;
        p++;
    }
    if (n<i)
    {
        cout<<"输入的数字字符个数不符";
    }
    else
    {
       cout<<"输入的字符是"<<i<<"个";
    }
    return 0;
}
通过C++编的,没有warning
*************************************
Cpp1.exe - 0 error(s), 0 warning(s)

2010-04-17 18:18
快速回复:如何用指针计算字符串的个数
数据加载中...
 
   



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

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