【问题标题】:Error: assignment of Read-only location C language错误:分配只读位置 C 语言
【发布时间】:2014-01-23 16:45:28
【问题描述】:

您知道,我对编程非常陌生。我在某种程度上试图自学。所以这只是我一直在做的一些事情。我试图让它链接到哪里,如果我的 scanf(%c) 等于 D,它会询问存款多少等,由于某种原因我无法克服这个错误.....任何知道我做错了什么吗?

main(void)
{
    char Deposit,Withdrawl,Exit,amount,balance;
    char D,W,E;
    balance=100;
    Deposit=D;
    Withdrawl=W;
    Exit=E;
    printf("please enter the type of action: D-eposit, W-ithdrawl, or E-xit:\n");
    scanf("%c");

    if("%c"=D)
    {
        printf("Please enter the amount to deposit:/n");
        scanf("%f");
    }

}

【问题讨论】:

  • 您需要在编译器中启用警告。在初始化变量之前,您可以多次使用变量,这会导致整个程序的行为几乎未定义。
  • 你应该先买一本关于c的书。做非常简单的事情,然后进步。大概scanf 现在是为你进阶。我的 2 美分

标签: c static-linking


【解决方案1】:

变化:

scanf("%c");
if("%c"=D)

收件人:

char x;
scanf("%c",&x);
if (x == 'D')

(开始)...

另外,下面这段代码没用(不知道你有什么打算):

Deposit=D;
Withdrawl=W;
Exit=E;

最后,对scanf 的第二次调用也应该使用float 变量的地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多