【发布时间】:2016-06-30 16:05:23
【问题描述】:
我的代码如下
#include <stdio.h>
#include <ctype.h>
#define size 5
void main(){
int i;
char letter[size];
for(i=0;i<size;i++)
letter[i]=getchar();
for(i=0;i<size;i++)
putchar(toupper(letter[i]));
}
输出是:
bitto@HP-ProBook-4430s:~$ gcc test.c
bitto@HP-ProBook-4430s:~$ ./a.out
a
s
d
A
S
D
为什么会这样?它是读取 5 个字符并将它们转换为大写。
【问题讨论】:
-
可怜的被忽视的
'\n'... -
您需要了解一下终端的行为方式。见this
-
@EOF 肯定是对的。我在回答中扩展了您的评论。