A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dast 中级黑马   /  2015-6-14 15:49  /  2554 人查看  /  21 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int main()
{   int res=-1;
    for(int i = 1;i <= 9;i++)
    {for(int j = 1;j <= i;j++)
        {   res = i * j;
            printf("%d * %d = %d \t ",j,i,res);
        }
        printf("\n");
    }}
为什么 \t 前后显示距离会不同?


无标题.jpg (40.06 KB, 下载次数: 24)

无标题.jpg

21 个回复

倒序浏览
本帖最后由 Dast 于 2015-6-16 00:22 编辑

//这个为何结果是第一和第二列之间没有 tab 效果尼?
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     int x,y,z;
  5.     for(x=1;x<=9;x++)
  6.     {
  7.         for(y=1;y<=x;y++)
  8.         {
  9.             z=x*y;
  10.             printf("%d*%d=%d\t",y,x,z);
  11.         }
  12.         printf("\n");
  13.     }
  14.     return 0;
  15. }
复制代码
回复 使用道具 举报
第二张图没用,添加错误。ps:代码规范的话,{后面当行写代码,还是换一行写啊
回复 使用道具 举报
后面加个—2就可以对齐了
回复 使用道具 举报
格式控制符的使用问题
回复 使用道具 举报
一个两位一个一位啊
回复 使用道具 举报
这个还先不会的了
回复 使用道具 举报
%d\t前后和中间的所有空格都去掉就可以了,已经帮你试过了,希望能帮到你
回复 使用道具 举报
Dast 中级黑马 2015-6-15 22:02:23
8#
任伟 发表于 2015-6-14 17:49
后面加个—2就可以对齐了

哪里加2?能写出代码吗?
回复 使用道具 举报
Dast 中级黑马 2015-6-15 22:05:20
9#
fixer 发表于 2015-6-14 21:21
一个两位一个一位啊

这也会影响  \t 的效果吗?明显前后空格差太多了
回复 使用道具 举报
Dast 中级黑马 2015-6-15 22:07:31
10#
hanxujie 发表于 2015-6-15 13:52
%d\t前后和中间的所有空格都去掉就可以了,已经帮你试过了,希望能帮到你

前后空白距离不同吧,怎么样让空白距离相同啊
回复 使用道具 举报
Dast 发表于 2015-6-15 22:07
前后空白距离不同吧,怎么样让空白距离相同啊

就是你空格太多的问题  
回复 使用道具 举报
这个自己编的你比较一下
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     int x,y,z;
  5.     for(x=1;x<=9;x++)
  6.     {
  7.         for(y=1;y<=x;y++)
  8.         {
  9.             z=x*y;
  10.             printf("%d*%d=%-2d  ",y,x,z);
  11.         }
  12.         printf("\n");
  13.     }
  14.     return 0;
  15. }
复制代码
回复 使用道具 举报
Dast 中级黑马 2015-6-16 00:22:44
14#
小小羊 发表于 2015-6-15 23:32
这个自己编的你比较一下


//这个为何结果是第一和第二列之间没有 tab 效果尼?
#include<stdio.h>

int main()
{
    int x,y,z;
    for(x=1;x<=9;x++)
    {
        for(y=1;y<=x;y++)
        {
            z=x*y;
            printf("%d*%d=%d\t",y,x,z);
        }
        printf("\n");
    }
    return 0;
}
复制代码
回复 使用道具 举报
Dast 中级黑马 2015-6-16 00:24:33
15#
hanxujie 发表于 2015-6-15 13:52
%d\t前后和中间的所有空格都去掉就可以了,已经帮你试过了,希望能帮到你

按你的程序,我在xcode上试的是第一和第二列间没有 tab 的效果啊。
回复 使用道具 举报
venn 中级黑马 2015-6-16 09:02:13
16#
把%d前后的空格都删了即可
回复 使用道具 举报
Dast 中级黑马 2015-6-16 21:56:24
17#
venn 发表于 2015-6-16 09:02
把%d前后的空格都删了即可

把%d前后的空格都删了,我在xcode上试的是第一和第二列间没有 tab 的效果啊。
回复 使用道具 举报
我做的这个和你写的代码还不太一样,所以自己再琢磨下
回复 使用道具 举报
我做的这个和你写的代码还不太一样,所以自己再琢磨下
回复 使用道具 举报
回去试下,看看
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马