如何使用strcat()连接字符串

时间:2019-03-11 04:40:01

标签: c

此代码想连接字符串,但不显示输出

#include<stdio.h>
#include<string.h>
main( ) 
    {  
    char *str1 = "United" ;  
    char *str2 = "Front" ;  
    char *str3 ;  
    str3 = strcat ( str1, str2 ) ;  
    printf ( "\n%s", *str3 ) ; 
    }

1 个答案:

答案 0 :(得分:1)

我将列出代码中的缺陷。

  1. “ United”和“ Front”是字符串常量,表示无法修改。
  2. strcat将第二个字符串添加到第一个字符串,因为第一个输入是常量字符串,因此无法进行操作。
  3. printf只需要'str3'。

有两种方法可以更正代码,a)通过scanf获取str1,b)通过strcpy获取str1

我提供了第二个解决方案,str1和str3都将有最终答案。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main( )
{
        char str1[20];
        char *str2 = "Front" ;
        char *str3 ;
        strcpy(str1,"United");
        str3 = strcat ( str1, str2 ) ;
        printf ( "%s\n", str3 ) ;
}

关于评论,我添加了一个没有动态内存分配的版本:

{{1}}