无法理解getche()C的返回值

时间:2016-11-06 00:30:15

标签: c getchar

#include <stdio.h>
#include <conio.h>
#define MAX 30
void main()
{
char str[MAX];
char str2[MAX];
int i=0;
char c2,c1;
printf("Inserire stringa 1:\n");
do
{
    c2=getche();
    if(c2<0)
    {
        c1=getche();
    }
    else
    {
        c1=c2;
    }
    str[i]=c1;
    i++;
}while(i<=MAX&&c1!='\n');

printf("\n");
i=0;
printf("Inserire stringa 2:\n");
do
{
    c2=getche();
    if(c2<0)
    {
        c1=getche();
    }
    else
    {
        c1=c2;
    }
    str2[i]=c1;
    i++;
}while(i<=MAX &&c1!='\n');
printf("\n");

}

我无法理解这段代码的作用。特别是if循环:什么时候是c2&lt; 0?返回getche函数是什么? while while条件也给了我一些问题:即使我按下输入它也不会绕过循环而我只是覆盖第一个单词,直到我不写20个字符。

0 个答案:

没有答案