试图在C打印时的价值分割故障 [英] Segmentation Fault when attempting to print value in C

查看:88
本文介绍了试图在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆