注册 登录
编程论坛 C++教室

求字符串长度,不能调用库函数。

玫瑰、 发布于 2015-11-02 20:19, 932 次点击
哪的错啊
#include<iostream>
using namespace std;
int main()
{
    char a[100];
    int i=0;
    for(i=0;i<=100;i++)
    {
        while(cin>>a)
        {
            if(a=='\0')
            {
                break;
            }
            else
                i++;
        }
            cout<<i<<endl;
    }
    return 0;
}

[此贴子已经被作者于2015-11-2 20:20编辑过]

5 回复
#2
玫瑰、2015-11-02 21:00
#include<iostream>
using namespace std;
int main()
{
    char a[100],*b;
    int i=0,j=0;
    b=a;
    cin>>a;
    for(i=0;i<=100;i++)
    {
        if(b[i]=='\0')
        {break;}
        else
            j++;
    }
    cout<<j<<endl;
    return 0;
}
#3
wengbin2015-11-03 09:22
回复 2楼 玫瑰、
你好,你的代码我已经测试过了,没有问题,我想请教的是if(b[i]=='\0')一句,若我编代码,我会写成if(*(b+i)=='\0'),我这样写也是对的,而且也是我能理解的,请问b[i]是怎样实现调用其第i+1个字符的呢?
#4
rjsp2015-11-03 09:34
回复 2楼 玫瑰、
打酱油的变量太多了

程序代码:
#include <iostream>
using namespace std;

int main( void )
{
    char a[100];
    cin >> a;

    size_t len;
    for( len=0; a[len]; ++len );

    cout << len << endl;
    return 0;
}

#5
wengbin2015-11-03 09:38
回复 4楼 rjsp
#6
农民工2015-11-04 13:56
还有:
int count=-1
while(a[++count]);
1