试图在C打印时的价值分割故障 [英] Segmentation Fault when attempting to print value in C
本文介绍了试图在C打印时的价值分割故障的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的C code返回段错误的错误。我不明白为什么它没有返回值20,什么是我的错误?
的#include<&stdio.h中GT;诠释的main()
{
INT * N;
* N = 20; 的printf(%I \\ N,* N); 返回0;}
解决方案
您还没有分配的内存 N
,所以
* N = 20;
试图写入内存不详。
尝试
的#include<&stdlib.h中GT;为int * N =的malloc(sizeof的* N);
/ *使用N * /
免费(N);
The following C code returns a "segmentation fault" error. I do not understand why it does not return the value 20. What is my error?
#include <stdio.h>
int main()
{
int* n;
*n = 20;
printf("%i\n",*n);
return 0;
}
解决方案
You haven't allocated memory to n
, so
*n = 20;
attempts to write unspecified memory.
Try
#include <stdlib.h>
int *n = malloc(sizeof *n);
/* use n */
free(n);
这篇关于试图在C打印时的价值分割故障的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文