本文介绍了进行字符串连接时出现运行时错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下程序有什么问题?

main( ) 
{ 
 char *str1 = "United" ; 
 char *str2 = "Front" ; 
 char *str3 ; 
 str3 = strcat ( str1, str2 ) ; 
 printf ( "\n%s", str3 ) ; 
} 

我无法编译上述程序,它总是给我运行时错误。我试图连接两个字符串。上面的程序是否有错误?

I am not able to compile the above program and it always give me runtime error. I am trying to concatenate the two string. Is there any error in the above program?

谢谢。

推荐答案

将您的 char * str1 = United 设置为

char str1 [<连接的结果字符串所需的内存>] = United

您需要为目标缓冲区 str1 分配内存。 str3 还将在结果中接收到 str1 的地址。 strcat将不会检查目标缓冲区(str1)中是否有可用空间。程序员必须照顾好它。

You need to allocate memory for the destination buffer which is str1. str3 will also receive address of str1 in the result. 'strcat' will not check for space availability in destination buffer (str1). Programmer has to take care of it.

这篇关于进行字符串连接时出现运行时错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 04:01