如何测试标识符是否为字符?我正试图测试是否有一个名为code == I
的标识符,或者如果code == D
,或者如果code == C
。
这是我到目前为止所做的。
char code;
double amount, service, balance;
double amtCheck, amtDeposit, openBalance, closeBalance;
int numCheck, numDeposit;
inp = fopen("account.txt", "r");
printf("TransactiontDeposittChecktBalance");
printf("-----------t-------t-----t-------");
while ((fscanf(inp, "%c %f", &code, &amount)) != EOF){
if (code == I){
openBalance = amount;
}
else if (code == D){
numDeposit++;
}
else if (code == C){
numCheck++;
}
使用单引号'C'
表示字符量
用单引号括住I, D
和C
。
if (code == 'I'){ }
比较code
与'I'
、'D'
和'C'
。
while ((fscanf(inp, "%c %f", &code, &amount)) != EOF){
if (code == 'I'){
openBalance = amount;
}
else if (code == 'D'){
numDeposit++;
}
else if (code == 'C'){
numCheck++;
}
注意,在C语言中,字符必须用"包围,字符串或字符数组必须用"包围。没有",C,D和I将被视为变量。
对于这类事情,我更喜欢使用switch语句。当然,仍然需要单引号