我需要编写一个程序,这个程序将检查标准输入中的每个字符,看它是否是ASCII字符。我知道需要检查的是第8位(如果我记得正确,则为第7位)是否为0,因为ASCII只使用7位,但我很难弄清楚如何检查特定的位。以下是我目前的代码。
#include <stdio.h>
#define MASK 7
int main(void)
{
auto char inChar;
do
{
inChar = getchar();
// Breaks the do-while loop if it detects End of File
if (inChar == EOF)
{
break;
}
printf("%c", inChar);
if ( inChar == (0 & MASK))
{
printf("Not an ASCII Character.\n");
}
}while(1);
puts("\n");
return 0;
}
我知道我还没有完全实现编码器来检查每个字符值,但这是后话。现在我只需要帮助它检查变量中的特定位。
此外,这是我第一次在这里提问,请原谅我的问题格式不当。
char
类型的范围。使用int
类型来存储getchar()
返回的值。 - jfs