none
关于c++中char数组的困惑 RRS feed

  • 问题

  •          编写一个程序,使用一个char数组和循环来每次读取一个单词。直到用户输入done为止。并使用strcmp函数。

    雷神

    2012年9月26日 13:41

答案

  • 你好,

    使用数组比较麻烦。如果你预先定义好数组的长度,可能会带来数组越界的问题,因为每次输入的单词长度各不相同。

    如果每次输入都用动态分配,程序的效率会比较低。

    建议使用string类型,会方便很多。请参考以下代码:

    #include <string>
    #include <iostream>
    using namespace std;
    
    void main()
    {
    	string szTemp, szDoc;
    
    	while (1)
    	{
    		cin>>szTemp;
    
    		if (szTemp == "done")
    		{
    			break;
    		}
    
    		if (szDoc != "")
    		{
    			szDoc.append(" ");
    		}
    
    		szDoc.append(szTemp);
    		szTemp.clear();
    	}
    
    	cout<<szDoc<<endl;
    }

    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年9月28日 6:18
    版主