C语言字符数组为什么输出了null?

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

int main()
{
char str1[30] = { "People" };
char str2[] = { "China" };
printf("%s", strcat_s(str1, str2));
return 0;
}
为什么运行结果是(null),求大神解答

第1个回答  2020-11-17
strcat和strcat_s的是不一样的,你用strcat可以这么写,因为返回的是合并后的地址,但strcat_s返回不是地址,返回的是错误码,0表示成功,你这里返回的是0,所以就是null本回答被网友采纳
第2个回答  2020-11-17
你这里打印输出的是函数strcat_s的返回值
第3个回答  2020-11-17
#include <stdio.h>

#include <string.h>

int main() {
  char str1[30] = {
    "People"
  };
  char str2[] = {
    "China"
  };
  printf("%s", strcat(str1, str2));
  return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网