首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SEGMENTATION_FAULT

SEGMENTATION_FAULT
EN

Stack Overflow用户
提问于 2022-03-29 01:13:37
回答 1查看 97关注 0票数 0
代码语言:javascript
复制
#include <stdio.h>
#include <string.h>
int main()
{
  int take_photo = 0;
  char command[8];
  char * pictures = "take_pictures";

  strcpy(command, pictures);
  if (strcmp(command, "take_pictures") == 0) {
    printf("%s\n", "CLICK_PHOTO_TAKEN");
    take_photo = 1;
  } else {
    printf("%s\n", "SEG_FAULT_NO_PHOTO");
  }
  return 0;

}

有人能告诉我为什么我总是收到SEGMENTATION FAULT错误吗?在我看来很好

可能与数组有关

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 01:18:25

在这条线上你得到了分段故障:

代码语言:javascript
复制
strcpy(command, pictures);

字符串command太小了。你想把一根长绳子复制到上面。该行为未定义。

您可以通过使command更大来解决这个问题。例如,

代码语言:javascript
复制
char command[32];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71655367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档