2014-01-23 19 views
0

只是如此,你知道,我是编程的新手。我正在试图自我教导。所以这里只是我一直在努力的一点点。我试图让它链接到,如果我的scanf(%c)等于D,它询问要存多少钱等等,出于某种原因,我无法越过这个错误.....任何线索我做错了什么?错误:分配只读位置C语言

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"); 
    } 

} 
+0

您需要在编译器中启用警告。变量在初始化之前有多种用途,这会使整个程序出现几乎未定义的行为。 – twalberg

+0

你应该先购买一本关于c的书。做非常简单的事情,然后进步。显然'scanf'现在就为你提高了。我的2美分 –

回答

0

变化:

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

要:

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

(与开始)...

此外,下面这段代码是无用的(不知道你有什么计划记住它):

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

最后,第二个电话scanf也应该采取一个float变量的地址。