回车制造麻烦

时间:2018-05-24 05:10:21

标签: string carriage-return

#include<stdio.h>
#include<conio.h>
main()
{
char name[25];
printf("Enter Your Full Name:");
int i = 0;
name[i] = getche(); 

while(name[i] != '\r')
{
    i++;
    name[i] = getche();
}
printf("\n%s\n", name);
system("pause");
}

当我输入名字Razwan Muzaffar时执行我输错了输出。虽然有一些其他名称输出是好的。但是当我尝试其他一些名字时,会闹事。回车或缓冲存储器刷新,我认为这是一个值得考虑的问题。 我是绝对的初学者。请善意解释这个问题。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果你想要一个用户的字符串,那么试试这个,

char str[100];
gets(str); // gets and puts requires stdio header file
cout<<str; // or puts(str);

但我想知道如果没有 void main,你的代码是如何工作的。