我在c中有以下内容:
printf("(Type %d)\n", t[0].type); // displays: (Type 4)
我需要做一个比较来检查t[0].type
是3,4还是5。
if (t[0].type == 4) { //code }
但它不起作用,因为t[0].type
是从{2}读取的char
。
我尝试将t[0].type
转换为带t[0].type - '0'
的int,然后进行比较,但两者都不起作用。怎么做?
答案 0 :(得分:1)
试试这个
if ( t[0].type == '4') {...}
答案 1 :(得分:0)
奇怪。如何跟随代码
printf("(Type %d)\n", t[0].type);
显示“Type 4”,如果存有'4'(字符)?
char x;
x = '4';
printf( "%d\n", x ); /*This will output 52*/
因此,您可以使用转化
if( x - '0' == 4 ){...}
它应该可以正常工作
答案 2 :(得分:0)
atoi()/ itoa()函数也应该有所帮助 或者查看ASCII Table。如果从变量中减去48(ascii代码为'0'),则最终得到它的整数值。
if(([0].type - 48) == 4)
OR
if((t[0].type - '0')== 4)
无论你喜欢什么。