繁体   English   中英

复制句子C的单个单词

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM