使用结构体与C程序联系经理

标签 c visual-studio-2012 system structure contacts

       struct contact
       {
       char name[20],email[20];
       int hpnum;
       }add;
   int option;

       int main (void)
       {
    system("cls");
    printf("==========Welcome to Jeffery's Contact System Management==========\n");
    printf("\t\t\tContact System Main Menu\n");
    printf("[1] Create a New Contact\n");
    printf("[2] Modified Existing Contact\n");
    printf("[3] Delete Existing Contact\n");
    printf("[4] Search Existing Contact\n");
    printf("[5] Exit\n");
    printf("Please enter one of your option.\n");
    scanf("%d",option);

    switch(option)
    {
        //add new contact
        case 1:
        printf("Contact Name: ");
        scanf("%s",&add.name);
        printf("\nHandphone Number: ");
        scanf("%d",&add.hpnum);
        printf("\nE-mail: ");
        scanf("%s",add.email);
        break;
    }

getch();
    }

这个编码有什么问题吗?我可以运行它,但一旦选择不。 1、有错误。如果我的编码有误,请通知我。我还是个初学者,希望大家能帮助我。

最佳答案

您忘记在选项变量之前添加与号&

 scanf("%d",option);

应该是

 scanf("%d",&option);

option是一个int,所以这里需要scanf中的&

第二个: 需要在 add.name 之前删除 & 符号

 scanf("%s",&add.name)

应该是

 scanf("%s",add.name)

add.name 是一个字符数组,我们不需要 &%s

关于使用结构体与C程序联系经理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121586/

相关文章:

目标框架列表中缺少 .NET Framework 4.5

iphone - iOS 4.x 设备覆盖

c++ - 将代码添加到 WNDCLASSEX 中的 WndProc 回调会破坏代码

c - 指向 2D char 数组的指针和指向 2D int 数组的指针有什么区别?

c++ - 使用#include 加载 OpenCL 代码

c - 从函数返回一个字符串并在 C 中再次调用它

visual-studio-2012 - 如果 Typescript 位于子文件夹中,它不会编译?

c - 将指针传递给参数为 void* 变量的函数

c# - 如何让我的文本框捕获字符 为什么文本框不捕获输入

c++ - 在 Qt C++ 中使用文件系统