C++ 为什么可以';编译器是否输入if语句?
这是一个简单的时间转换代码。问题是: 给定12小时AM/PM格式的时间,将其转换为军事(24小时)时间 注意:12小时制的午夜是12:00:00,24小时制的午夜是00:00:00。12小时制的中午是12:00:00,24小时制的中午是12:00:00 我的代码:-C++ 为什么可以';编译器是否输入if语句?,c++,C++,这是一个简单的时间转换代码。问题是: 给定12小时AM/PM格式的时间,将其转换为军事(24小时)时间 注意:12小时制的午夜是12:00:00,24小时制的午夜是00:00:00。12小时制的中午是12:00:00,24小时制的中午是12:00:00 我的代码:- #include<iostream> using namespace std; int main() { char a[10]; for(int i=0;i<10;i++) cin>&
#include<iostream>
using namespace std;
int main()
{
char a[10];
for(int i=0;i<10;i++)
cin>>a[i];
if( a[0]== 1 && a[1]== 2 )
{
if(a[8]=='A')
{
a[0]=0;
a[1]=0;
}
}
else if(a[8]=='P')
{
a[0]+=1;
a[1]+=2;
}
for(int k=0;k<8;k++)
cout<<a[k];
}
#包括
使用名称空间std;
int main()
{
chara[10];
对于(int i=0;i>a[i];
如果(a[0]==1&&a[1]==2)
{
如果(a[8]=='a')
{
a[0]=0;
a[1]=0;
}
}
else如果(a[8]=='P')
{
a[0]+=1;
a[1]+=2;
}
对于(int k=0;k,如Mat所说,整数0-9和ASCII中的字符没有直接映射。请检查。您可以将数字表示为带引号的字符(因此“1”而不是1),它们将被读取为ASCII值(因此“1”将被读取为49)或者直接使用ASCII值。我推荐第一种方法。'1'
没有值1
对于这样的问题,如果有一个特定值显示问题,只需将a
的内容设置为适当的值。无需输入循环或问题文本中的解释。char a[] = "12:00:00AM
。这使其他人更容易看到你在做什么并重现问题。在提交问题之前,始终尽可能简化你的问题。如果是错误报告,它将得到更多关注。如果是故障排除情况,你可能会找到自己的答案,而不必询问问题问题。@HARSHMISHRA如果有帮助,请给出答案,以便将问题从未回答问题列表中删除。如果不需要,请不要采用ASCII。将数字的字符代码转换为相应的数字既简单又方便:ch-'0'
只要ch
是值'0'..'9'
之一,就可以工作>包容。彼得的方法更好。我完全没有想到这一点。