[英]Copy single words of a sentence C
我编写了这个小程序,将一个单词分为单个字母(例如Hello:Hello)。
int i;
char str[50],str2[2];
printf("insert something \n");
scanf("%s", str);
for (i=0; i<strlen(str); i++)
{
strcpy (str2,str[i]);
//printf("%c", str[i]);
}
它工作正常,但现在我希望每个单词都包含在我尝试使用strcpy (str2,str[i]);
的char
strcpy (str2,str[i]);
但不起作用:(
就你而言
strcpy (str2,str[i]);
目标str2
的长度不足以容纳整个源字符串。 因此,通过用尽bondary,您的代码将调用undefined behavior 。
供参考, C11
标准,第§7.24.1章
[...]如果在对象末尾之外访问数组,则行为未定义。
您可以改用数组索引来提取和打印数组中的每个元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.