我编写了这个小程序,将一个单词分为单个字母(例如Hello:H-e-l-o)。
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]);
}
它工作正常,但现在我希望每个词都包含在
char
中我尝试使用
strcpy (str2,str[i]);
但不起作用:( 最佳答案
就你而言
strcpy (str2,str[i]);
目标
str2
的长度不足以容纳整个源字符串。因此,通过用完绑定数,您的代码将调用undefined behavior。作为参考,
C11
标准,第§7.24.1章[...]如果在对象末尾之外访问数组,则行为未定义。
您可以改用数组索引来提取和打印数组中的每个元素。
关于c - 复制句子C的单个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34728603/