问题是这样的 ,我要用矩阵键盘输入0-999999之间的任意一个数,把这个数给变量n,我已经做好了矩阵键盘扫描程序,程序名是void anjian(),他最后得到一个返回的键值,把这个键值传给一个变量key,关系式是key=anjian(),这样我只要去检测key的值就可以知道是哪个键按下了,因为矩阵键盘需要循环调用,所以我用的是do....while语句,程序如下:
n=0;
flag=0;
do
{
key=anjian();
if(key<10)//按下的是0-9的数字键
{
n=10*n+key;
}
if(key==11)//OK键被按下
flag=1;
if(key==12)//EXIT被按下
flag=1;
}
while(!flag)
....................
假设输入一百二十三,那么当然第一 读按键就得到1,第二次就会得到2,第三次就会得到3,结果就是:
x=0;
x=0*10+1; //第一次按键按下,x=1
x=1*10+2; //第二次键按下,x=12
x=12*10+3; //第三次键按下,x=123
最后x=123;现在的问题就是下次读回按键的值的时候第一次的x的值没了,就是我输入2的时候之前的1没了,我输入3的时候前面的12就更没了,怎么解决,或者有没有更简单的方法,其他的方法也行......
不好意思着急写错了,下面的x 就是上面的n....................高手进来愿意的话请留下QQ...........感激不尽