如何使用getch()在数组中添加2位数作为单个条目?

时间:2016-11-12 07:48:26

标签: c

我有这个例子,但是它没有用。 此代码应该将XX:YY:ZZ添加到具有3列的数组:realtime = {XX,YY,ZZ}

#include <stdio.h>
#include <conio.h>
int main() {
    int realtime[3];
    char time[8];
    for(int i = 0;i<8;i++){
        time[i] = getche();
    }
    for(int i = 0, j = 0;i<3;i++, j+=3){
        realtime[i] = (time[j])*10+time[j+1];
    }
}

1 个答案:

答案 0 :(得分:2)

请注意,字符'0' 具有整数值0。例如,请参阅https://en.wikipedia.org/wiki/ASCII

字符'0'的整数值通常为48.因此,如果您阅读文本字符串&#34; 01:23:45&#34;,您最终会得到{{1}具有整数值48,time[0]具有整数值49,time[1]具有整数值50,等等。

因此,您需要在第二个循环中将{48}减去time[3]中的值。这通常由以下人员完成:time

试试这个:

time[j]-'0'