分段错误:11,尝试打印结果时在 C 代码中
Segmentation fault: 11, in C code when trying to print results
我正在用 C 编写一个程序来执行一些逻辑,但目前我只是想测试输入是否正确保存。 str 应该存储列出的菜单选项之一,unsigned int hex 应该存储十六进制值,int 存储十进制值。
代码如下:
int main()
{
char str[2];
unsigned int hex;
int decimal;
printf("Choose an Option (C, M, Q, S, V): ");
scanf("%s", &str);
printf("Enter a value for x: ");
scanf("%u", &hex);
printf("Enter a value for n: ");
scanf("%d",decimal);
printf("Testing: %s, %u, %d\n",str,hex,decimal);
return 0;
}
当我在我的终端上编译它时,它没有给我任何错误,它甚至运行了我要求的所有输入。输出如下所示:
Enter a value for x: 1
Enter a value for n: 1
Segmentation fault: 11
为什么我会收到分段错误 11?任何帮助表示赞赏。
这里不需要&
:
scanf("%s", &str);
这里需要&
:
scanf("%d",decimal);
我正在用 C 编写一个程序来执行一些逻辑,但目前我只是想测试输入是否正确保存。 str 应该存储列出的菜单选项之一,unsigned int hex 应该存储十六进制值,int 存储十进制值。
代码如下:
int main()
{
char str[2];
unsigned int hex;
int decimal;
printf("Choose an Option (C, M, Q, S, V): ");
scanf("%s", &str);
printf("Enter a value for x: ");
scanf("%u", &hex);
printf("Enter a value for n: ");
scanf("%d",decimal);
printf("Testing: %s, %u, %d\n",str,hex,decimal);
return 0;
}
当我在我的终端上编译它时,它没有给我任何错误,它甚至运行了我要求的所有输入。输出如下所示:
Enter a value for x: 1
Enter a value for n: 1
Segmentation fault: 11
为什么我会收到分段错误 11?任何帮助表示赞赏。
&
:
scanf("%s", &str);
这里需要&
:
scanf("%d",decimal);