如何调试此代码以按空格将数组拆分

How to debug this code for splitting an array by space?

本文关键字:空格 拆分 数组 代码 何调试 调试      更新时间:2023-10-16

我需要编写一个程序来获取句子并通过定界符(Space)将其单词拆分;所以我已经写了下面的代码,但似乎无法正常工作。有什么想法如何调试此代码?在此先感谢您的帮助。这是我到目前为止提出的:

#include <iostream>
using namespace std;
const int BUFFER_SIZE=255;

int main()
{       
       char* buffer;
       buffer=new char[255];
       cout<<"enter a statement:"<<endl;
    cin.getline(buffer,BUFFER_SIZE);
    int q=0, numofwords=1;
    while(buffer[q] != ''){
        if(buffer[q]==' ') numofwords ++;
        q ++;
    }
    char** wordsArray;
    wordsArray= new char* [numofwords];  
    int lenofeachword=0, num=0;
    int* sizeofwords=new int [numofwords];
    for(int i=0;i<q;i++){
        if(buffer[i]==' ')
        {
            sizeofwords[num]=lenofeachword;
            wordsArray[num]=new char[lenofeachword];
            num++; 
        }else{
        lenofeachword++;
        }

    }
    sizeofwords[num]=lenofeachword;  
    wordsArray[num]=new char[lenofeachword]; 
    int k=0;
    for(int i=0; i<numofwords;i++){
        for(int j=0;j<sizeofwords[i];j++)
        {
            wordsArray[i][j]=buffer[k];
            k++;
        }
        k++;
    }
   for(int i=0; i<numofwords;i++){
            for(int j=0;j<sizeofwords[i];j++)
            {
                cout<<wordsArray[i][j];
            }
        cout<<endl;
        }
 }
#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
int main() {
    int size, j;
    char s[1005];
    gets(s);
    scanf("%d", &size);
    j=0;
    for(int i=size; i<strlen(s); i+=size) {
        for(; j<i; j++) {
            printf("%c", s[j]);
        }
        printf(" ");
    }
    return 0;
}

您忘记将零分配给 lenofeachword dereTmine lenght of单词。如果int main(),您应该返回int值。