我在使用scanf時遇到了問題(在任何人提到它之前,我必須使用它,我不能使用getchar()
,fgets()
和其他各種各樣的東西)。在我的代碼下面,我需要添加(或減去)兩個實數或整數,並將總和存儲到內存中。我認爲我可以自己梳理記憶的東西,但問題在於打印總和的結果。嘗試在循環中掃描scanf值。需要輔助輸入來打印第一個輸入
我必須輸入'6 + 6',按回車鍵,然後輸入另一個字符以顯示原始總和。此外,如果我輸入'6 + 6 +',我希望它的程序行爲。
我想我已經犯了一個非常基本的錯誤。我很累。
#include <stdio.h>
#include <stdlib.h>
int main(){
char memoryExitSwitch[256];
int q =1;
double operandOneHalf;
double operandTwo;
double result = 0.0;
while(q == 1){
scanf("%lf" "%lf ", &operandOneHalf, &operandTwo);
scanf(" %s", memoryExitSwitch);
switch (memoryExitSwitch[0]) {
case 'p':
result = memoryExitSwitch[1] + operandTwo;
printf("ANS1= %lf\n", result);
memoryExitSwitch[1] = result;
break;
case 'q':
q = 0;
break;
default:
result = operandOneHalf + operandTwo;
printf("ANS2= %lf\n", result);
memoryExitSwitch[1] = result;
break;
}//switch
}//main while loop q
return 0;
}
你試過switch語句之前打印出來'memoryExitSwitch'? – bruceg
你在第一個'svanf()'的格式字符串中有一個尾隨空格;這是一個主要問題。它不會停止,直到您鍵入一個非空白。 –