我正在使用getchar()
函数输入输入,当我在输入后按回车键时,我得到的循环内的c值与我输入的值一样好,但当我输入一个非数字时,循环中断。。。我输入的最新值是anew line
,其ASCII值为10。
我怎么可能保留数字值。我只想c
在循环中断后有一个数字值
#include<stdio.h>
#include<ctype.h>
main()
{
int c =0;
while(isdigit(c=getchar()))
{
printf("c is : %c\n",c);
}
printf("latest value of c(ASCII) is : %d\n",c);
}
最佳答案
一种方法是添加一个滞后变量,并在每次迭代时从c写入该变量:
#include<stdio.h>
#include<ctype.h>
int main(int argc, char *argv[])
{
int c = '0', lastchar = 0;
while(isdigit(c))
{
if(!lastchar)
{
printf("c is : %c\n",c);
}
lastchar = c;
c = getchar();
}
printf("latest value of c(ASCII) is : %d\n",lastchar);
return 0;
}
关于c - 如何在getchar()中获取最新值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29713261/