- 论坛徽章:
- 0
|
刚开始学c,如果问题问的太无厘头大家不要见笑。
写一个练习程序,输入小写字母就输出low,输入大写字母就输出up,并给变量flag赋值
test.c
- #include<stdio.h>
- main ()
- {
- char a,flag;
- printf("input a letter: ");
- scanf("%c",&a);
- if (a>=97&&a<=122)
- {
- flag='L';
- printf("low\n");
- }
- else
- if (a>=65&&a<=90)
- {
- flag='U';
- printf("up\n");
- }
- printf("flag=%c\n",flag);
- }
复制代码
运行
[root@My tmp]# cc test.c
[root@My tmp]# ./a.out
input a letter: a
low
flag=L
[root@My tmp]# ./a.out
input a letter: A
up
flag=U
[root@My tmp]# ./a.out
input a letter: 1
flag=L
疑问是:为什么在输入是非字母时,flag变量会取到'L'的值??
[ 本帖最后由 Learning_C 于 2009-4-25 13:52 编辑 ] |
|