gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:29 26 4
gpt4 key购买 nike

我有这个例子,但它不起作用。此代码应该将 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];
}
}

最佳答案

注意字符 '0' 有整数值0 .参见例如 https://en.wikipedia.org/wiki/ASCII

字符的整数值'0'通常是 48。因此,如果您读取文本字符串“01:23:45”,您将以 time[0] 结束。具有整数值 48,time[1]具有整数值 49,time[3]具有整数值 50 等等。

因此您需要将 time 中的值减去 48在第二个循环中。这通常由以下人员完成:time[j]-'0' .

试试这个:

for(int i = 0, j = 0;i<3;i++, j+=3){
realtime[i] = ((time[j]-'0')*10+(time[j+1]-'0');
// ^^^^ ^^^^^
}

关于c - 如何使用 getch() 在数组中添加一个 2 位数字作为单个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40560744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com