#include <stdio.h>
void main()
{
char c = getchar();
while ( c != '.')
{
putchar(c);
c = getchar();
}
}
当你运行上面的代码并输入任何字符串,如&#34; Shubham jain&#34;。整个字符串被复制并被打印,而getchar()
应该只读取字符串中的第一个字符。谁能解释这是怎么回事?
答案 0 :(得分:0)
当您使用程序输入字符串时,它会自动为getchar
函数中字符串中的每个字符提供输入,并多次调用它。循环检测到'。'的那一刻。程序停止阅读任何更多的字符。
答案 1 :(得分:0)
所以输入字符串是缓冲的,当下次调用getchar()时,它不再等待用户输入一个新字符,而是从输入缓冲区中取出它。
答案 2 :(得分:0)
todate_date
实际上并非 ...
&& ((FromDate >= fromdate_date && FromDate <= todate_date)
|| ToDate >= fromdate_date && ToDate <= todate_date))
select ...
getchar
。通常,您可以将输入char
的内容存储到整数中并将其转换为char。现在,为什么它读了一切? int
EOF getchar
getc`读取单个字符。