scanf与getchar的副作用以及可以替代的函数
发布网友
发布时间:2022-04-23 14:00
我来回答
共2个回答
热心网友
时间:2023-10-17 02:36
#include <stdio.h>
#include <conio.h>
int main()
{
char ch=0;
while (ch=getch(),ch!='#')//可以试一下用getch()函数
{
printf("%c",ch);
if (ch=='\r')
{
printf("\n");
}
}
return 0;
}//一个小例子
热心网友
时间:2023-10-17 02:36
副作用:int main()
{
int a;
char b;
scanf("%d",&a);
scanf("%c",&b);
printf("%d %d",a,b);
return 0;
}
在scanf函数执行完后,会有一个换行符(ASCII码为10)驻留在输入流(stdin),致使在下一个输入会直接读入该换行符。getchar函数和scanf函数副作用基本一致,也是会使换行符驻留 我还没有可替代的函数,但是,可以在每次输入后调用一次getchar()函数
热心网友
时间:2023-10-17 02:36
#include <stdio.h>
#include <conio.h>
int main()
{
char ch=0;
while (ch=getch(),ch!='#')//可以试一下用getch()函数
{
printf("%c",ch);
if (ch=='\r')
{
printf("\n");
}
}
return 0;
}//一个小例子
热心网友
时间:2023-10-17 02:36
副作用:int main()
{
int a;
char b;
scanf("%d",&a);
scanf("%c",&b);
printf("%d %d",a,b);
return 0;
}
在scanf函数执行完后,会有一个换行符(ASCII码为10)驻留在输入流(stdin),致使在下一个输入会直接读入该换行符。getchar函数和scanf函数副作用基本一致,也是会使换行符驻留 我还没有可替代的函数,但是,可以在每次输入后调用一次getchar()函数