请帮助我纠正此细分错误

Shubham Parmar

我的一个朋友正在学习指针概念,所以他写了这个程序,但是我不知道为什么这个程序显示分段错误。任何人都可以通过找到此程序中的错误来帮助我这是代码:

#include<stdio.h>
#include<conio.h>
struct Student
{
    /* data */
    char name[20];
    int age;
    // int rollNo;
};
int main()
{
    struct Student s1;
    struct Student *ptr;
    ptr = &s1;

    scanf("%s",ptr->name);
    scanf("%d",ptr->age);
    // scanf("%d",ptr->rollNo);

    printf("%s",(*ptr).name);
    printf("%d",(*ptr).age);
    // printf("%d",(*ptr).rollNo);
return 0;
}```
奥古斯特·卡尔斯特伦

要读取整数时,需要将指针传递给scanf,如下所示:

scanf("%d", &(ptr->age));

您还需要通过检查返回值来确保输入有效,如下所示:

count = scanf("%d", &(ptr->age));
if (count == 1) {
    /*an integer was entered*/
}

编译C程序时,应始终启用警告。例如,GCC编译器将告诉您有关原始程序的信息:

$ gcc -o test -Wall test.c
test.c: In function ‘main’:
test.c:16:10: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘int’ [-Wformat=]
  scanf("%d", ptr->age);
         ~^   ~~~~~~~~

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

请帮助我纠正语法错误

来自分类Dev

纠正此细分错误

来自分类Dev

请帮助我调试在控制台上收到的此错误消息

来自分类Dev

Javascript:请帮助我了解此功能

来自分类Dev

请帮助我优化此MySQL SELECT语句

来自分类Dev

请帮助我释放此动态分配的数组

来自分类Dev

请帮助我进行此碰撞检测

来自分类Dev

Python:请帮助我了解此范围问题

来自分类Dev

空指针异常错误。请帮助我

来自分类Dev

请帮助我检查登录中的会话错误

来自分类Dev

请帮助我找到错误-显示质数的程序

来自分类Dev

请帮助我解决此路线错误

来自分类Dev

请帮助我了解Boost :: Any

来自分类Dev

classCastException请以实际概念帮助我

来自分类Dev

放大阵列,请帮助我

来自分类Dev

请帮助我了解Boost :: Any

来自分类Dev

硬盘分区:请帮助我!:(

来自分类Dev

请帮助我了解数组

来自分类Dev

请帮助我:修改iframe内容

来自分类Dev

请帮助我摆脱这个问题

来自分类Dev

有人请帮助我使用此soundcloud API

来自分类Dev

请帮助我在Bootstrap 3导航栏中找到错误

来自分类Dev

请任何人可以帮助我找出xml文件中的错误

来自分类Dev

Sql 加入查询错误。有人请帮助我

来自分类Dev

python帮助我使用此功能

来自分类Dev

我不知道错了,请帮助我

来自分类Dev

我正在实现拖放功能,请帮助我。

来自分类Dev

我不知道错了,请帮助我

来自分类Dev

我的代码有什么问题,请帮助我