连接所有输入字符串[C编程]

时间:2018-12-07 12:37:12

标签: c string input concatenation

我是c语言编程的新手,并且想编写一个具有以下要求的程序:

输入:输入的数量为n,然后为n个输入字符,例如3个欢迎输入hku

输出连接的字符,例如,welcomhku

但是,我发现一个问题,当我将以下代码提交给c自动检查平台时,输出为~~~~ welcometohku而不是welcometohku。

有人想在这个问题上给予帮助吗?非常感谢大家。

#include<stdio.h>
#include<string.h>

int main(){

    int num;  /* array with 50 elements */
    int i = 0;
    char iarray1[100];
    /* read array */
    scanf("%d", &num);

    char iarray[num][100];

    for (i = 0; i < num; i++) {

        scanf("%s", iarray[i]);
    }   

    /* print array elements in reverse order */
    for (i = 0; i < num; i++) {

        strcat(iarray1,iarray[i]);
    }

    //display the concatenated string
    printf("%s",iarray1);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

您需要初始化iarray1

尝试

char iarray1[100] = {0};

原因是未初始化的iarray1可能包含任何值。因此,当您执行第一个strcat时,可能会发生您要连接的字符串附加到某些gargabe值的情况。