c语言给任意字符串最后加一个结束符

尝试了几种方法:
第一种:

void main()
{
	char a[]={'1','s','a'};
	printf("%s\r\n",a);
	printf("sizeof:%d\r\n",sizeof(a));
 	a[sizeof(a)] = '\0';
	printf("%s\r\n",a);
}

输出:

1sa蘰
sizeof:3
1sa

第二种:

void main()
{
	char a[]={'1','s','a'};
	printf("%s\r\n",a);
	printf("strlen:%d\r\n",strlen(a));
 	a[strlen(a)] = '\0';
	printf("%s\r\n",a);
}

输出

1sa蘰
strlen:7
1sa蘰

第三种:

void main()
{
	char a[]={'1','s','a'};
	printf("%s\r\n",a);
	strcat(a,"\0");
	printf("%s\r\n",a);
}

输出

1sa蘰
1sa蘰

综上:只有第一种好用。当然还有一些其他方法,不过可能比较复杂,如果有更好的方法欢迎大家补充。


版权声明:本文为weixin_44859524原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。