0

好的,所以我有这个代码

char from;
clrscr();
printf("Enter: ");
scanf("%s", &from);
if(from == 'a' || from == 'A') {
    // blah blah code
}

在条件上是否有其他方法或捷径而不是使用||?

谢谢。:D

4

4 回答 4

1

假设 ASCII 字符集,您可以屏蔽在'A'和之间变化的位'a'

if ((from | 0x20) == 'a') …

toupper不过,它更清晰,(严格来说)更便携。

于 2012-09-23T11:33:54.213 回答
0

您可以使用toupper功能: http ://www.ousob.com/ng/turboc/ng61ac1.php

if(toupper(from) == 'A') {
    // blah
}
于 2012-09-23T11:28:48.787 回答
0

'||' 表示“或”不知道是否还有其他捷径,但您所做的是正确的。有 '&&' 表示 'and',当你想在同一个条件 if 中满足两个条件时,可以使用这个。

于 2012-09-23T11:32:04.823 回答
0

检查这个:

#include<stdio.h>
#include<ctype.h>

 char from;
    clrscr();
    printf("Enter: ");
    scanf("%c", &from);
    if(toupper(from)=='A') {
        // blah blah code
    }
于 2012-09-23T11:36:11.247 回答