当前位置: 代码迷 >> C语言 >> 请问这样的输出格式合法吗??printf("% d,%d",a,b);
  详细解决方案

请问这样的输出格式合法吗??printf("% d,%d",a,b);

热度:374   发布时间:2004-10-18 11:21:00.0
以下是引用忆楠在2004-10-15 21:45:29的发言: 即使你输入10000个空格,结果和没有空格还是一样的,不过输入那么多空格你不觉得别扭吗?

我到想看看,你是怎么写10000个空格的,我觉得这个有问题!!!

但不敢肯定!


----------------解决方案--------------------------------------------------------

天使预备役――你没有实践吗?? 当然正确了!!

printf("% d,%d",12,13); 会输出:_12,13――――〉_表示空格

而printf("%d,%d",12,13); 会输出:12,13没有空格的。


----------------解决方案--------------------------------------------------------

我不是就题说题,我是说printf()函数的问题,你理解错了,

你认为printf()可以一次输出10000个字节的字符串么???

这就有问题了!!!!

可以帮忙解释一下么???


----------------解决方案--------------------------------------------------------

% 后如果是 TAB 键的话结果一定会让各位大哥吃惊的!


----------------解决方案--------------------------------------------------------
没试过!!等等我试一试!!
----------------解决方案--------------------------------------------------------

确实的以前我是CoolFlyTow,试验的时候没有注意过如果是tab的话的输出!!果真大吃一惊啊!!

最后我也明白了为什么会这样,就是因为任何程序在设计的时候都是按照他设计的思路来写的,如果我们 不注意到这个大前提,不按照他设计的规范来调用的话,我们的程序将发生无法预料的结果!!

我收回我说的话――

天使预备役――你没有实践吗?? 当然正确了!!

因为我太幼稚了,没有发现问题的真正毛病是我们没有规范的调用函数!!! 所以任何非规范的调用函数都是不正确的!!!写程序的时候要时刻注意你调用的标准函数或别人的,前提条件!!!


----------------解决方案--------------------------------------------------------
以下是引用CoolFlyTow在2004-10-18 11:32:21的发言:

天使预备役――你没有实践吗?? 当然正确了!!

printf("% d,%d",12,13); 会输出:_12,13――――〉_表示空格

而printf("%d,%d",12,13); 会输出:12,13没有空格的。

例一中12前面为什么只有一个空格而13后面反而多了那么多个空格啊我觉得好偈是:
―――――1213。例二就没错了是不是这样的啊

----------------解决方案--------------------------------------------------------
你自己试一下不就知道了,但是我在VC6.0中试验确实只有一个空格的!!
----------------解决方案--------------------------------------------------------

关于tab键也不应该说是让人吃惊的事,因为在你按TAB键后虽然屏幕上是空格,但实际上

他存到字符串中并不是空格,当函数调用字符串是,也就不把他当空格了!!!


----------------解决方案--------------------------------------------------------
谢谢大家了,让俺又学到了不少东西
----------------解决方案--------------------------------------------------------
  相关解决方案