none
数组中的一个问题 RRS feed

  • 问题

  • int main()
    {
     const int MAX = 10;
     char name[MAX];
     int count = 0;

     cout << "请输入一段字符串:";
     cin.getline(name,MAX,'\n');

     while(name[count] != '\0')
      count++;

     cout << endl
       << "The string \"" << name
       << "\" has " << count << " characters."
       << endl;
     return 0;
    }

    在这代码中 我声明了一个常量MAX等于10的作为数组的元素个数。
    但是我不明白在while循环里面又给数组赋值了一个count的变量 此时的数组不就变成了0了吗? 既然是0那就没有元素个数了? 怎么还能给它cin输入赋值? 我不明白? 这样的话那么我声明MAX常量作为数组元素还有什么意义?????我在书上看到的 那位帮我详细的解释一下 谢谢你


    法拉利 法拉利 法拉利
    2009年6月10日 9:47

答案

  • name[count] 不是给数组定义长度,而是从数组中去第count个元素的值。。。。
    while(name[count] != '\0')
      count++;
    这样循环当找到字符串的尾部,就会退出循环。
    然后count表示的就是字符串的长度了
    麻烦把正确答案设为解答。
    2009年6月10日 9:53
    版主