擅长:python、mysql、java
<p>问题是您正在<code>void largeNumToKeyboard(int num)</code>函数中使用<code>char</code>类型,并且您正在测试的值可能会溢出<code>char</code>。您至少需要将前三个更改为<code>int</code>。。。你知道吗</p>
<pre><code>void largeNumToKeyboard(int num) {
int a = num / 1296;
int ar = num % 1296;
int b = ar / 36;
char c = ar % 36;
a = numToKey(a);
b = numToKey(b);
c = numToKey(c);
char newb = b;
if(a == b){
newb = 0x2D;
}
if(c == b){
c = 0x2E;
}
printf("%d ",a);
printf("%d ",newb);
printf("%d\r\n",c);
}
</code></pre>
<p>…然后打印输出。。。你知道吗</p>
<pre><code>4 45 46
4 9 24
</code></pre>