chenbingjy 发表于 2024-9-4 18:14

中兴面试题的问题

<p>1.以下程序运行时若从键盘输入:10 20 30&lt;回车&gt;.输出结果是______</p>

<p>```c<br />
main()<br />
{<br />
&nbsp; &nbsp;int i=0,j=0,k=0;<br />
&nbsp; &nbsp;scanf(&quot;%d%*d%d&quot;,&amp;i,&amp;j,&amp;k);printf(&quot;%d%d%d\n&quot;,i,j,k);<br />
}</p>

<p><br />
```<br />
我实际操作了一下,得数是10300<br />
请问这个数怎么得来的,谢谢</p>

Nubility 发表于 2024-9-4 19:13

<p>又是八股文</p>

FuShenxiao 发表于 2024-9-5 09:36

<p>%*d相当于跳过,这样子10输入到a,20输入的时候跳过,30输入到b,然后没有输入了,c一开始定义是0,所以最后a=10,b=30,c=0输出</p>

chenbingjy 发表于 2024-9-5 09:41

FuShenxiao 发表于 2024-9-5 09:36
%*d相当于跳过,这样子10输入到a,20输入的时候跳过,30输入到b,然后没有输入了,c一开始定义是0,所以最 ...

<p>谢谢,果然是这样</p>

hellokitty_bean 发表于 2024-9-5 09:42

<p>贴主c还处于起步阶段。。。。。。。。。。。。。加油!<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/loveliness.gif" width="48" /></p>

chem11 发表于 2024-9-9 14:12

%d%*d%d,这个有错误,正确应该是%d%d%d,由于这个错误,所以出现了这个问题。
页: [1]
查看完整版本: 中兴面试题的问题