执迷不悟0527 发表于 2021-12-7 18:07:10

求助断行打印(输出)格式

我记得有一种打印方法是printf("/n                      /n
                                             /n                     /n);
大概就是这样,用一个printf可以打印出好几行的方法,但我试了一下没有想起来 ,谁可以回答一下

傻眼貓咪 发表于 2021-12-7 18:10:20

printf("\
\n\
\n\
\n\
");

柿子饼同学 发表于 2021-12-7 18:18:53

楼上是对的 , 你写完 \n 之后 , 要再写一个 \ 表示没有结束

执迷不悟0527 发表于 2021-12-7 18:22:42

傻眼貓咪 发表于 2021-12-7 18:10


如果说
printf("\n*****************\n
            \n ****************\n
         ");
这样用法对吗?

傻眼貓咪 发表于 2021-12-7 18:32:27

本帖最后由 傻眼貓咪 于 2021-12-7 18:34 编辑

执迷不悟0527 发表于 2021-12-7 18:22
如果说
printf("\n*****************\n
            \n ****************\n


不对,这题其实有 2个 不同的知识你必须知道:

1.)代码太长,不好看,用反斜杠转义换行(\)*系统不会打印这个
2.)打印换行,用反斜杠和 n(\n)*系统发现这个会打印换行

以上两点意思完全不相同

\n\ 看起来好像 1 个东西,实则 2 个东西

397325638 发表于 2021-12-7 19:17:12

傻眼貓咪 发表于 2021-12-7 18:32
不对,这题其实有 2个 不同的知识你必须知道:

1.)代码太长,不好看,用反斜杠转义换行(\)*系统 ...

我试了一下,但是好像把中间那个回车去掉的话,也能运行,那为什么加个回车后就运行不了了

傻眼貓咪 发表于 2021-12-7 19:30:48

本帖最后由 傻眼貓咪 于 2021-12-7 19:46 编辑

397325638 发表于 2021-12-7 19:17
我试了一下,但是好像把中间那个回车去掉的话,也能运行,那为什么加个回车后就运行不了了
其实暂时不用把它想复杂了,简单举个例吧

char* a = "banana"; // 这样写没有错对吗?

char*a = "ba
nana"; // 这样写肯定报错对吗?为什么呢?

因为一般字符串其实就是一行代码,不能写成两行,除非用反斜杠 \
比如:
char* a = "ba\
nana"; //这样就不会报错了

试试先不要打印换行 \n,只是打印普通字符串吧,比如:printf("小甲鱼很帅,小白今年87岁");
你可以写成:
printf("小甲鱼\
很帅,\
小白今年\
87岁");

或者
printf("小甲鱼很帅,\
小白今年87岁");

都没有错。

人造人 发表于 2021-12-7 19:37:34

傻眼貓咪 发表于 2021-12-7 19:30
其实暂时不用把它想复杂了,简单举个例吧




可以这样写
int a =
13;

#include <stdio.h>

int main(void) {
    int a =
13;
    printf("%d\n", a);
    return 0;
}

397325638 发表于 2021-12-7 19:45:13

傻眼貓咪 发表于 2021-12-7 19:30
其实暂时不用把它想复杂了,简单举个例吧




好的,谢谢

傻眼貓咪 发表于 2021-12-7 19:47:26

人造人 发表于 2021-12-7 19:37
可以这样写

已修改,感谢纠正

傻眼貓咪 发表于 2021-12-7 19:48:43

397325638 发表于 2021-12-7 19:45
好的,谢谢

抱歉,刚才解说有误,已修改

执迷不悟0527 发表于 2021-12-10 11:23:52

我找到了看我的
printf("\n\hello \n\
\n\i am\n\
\n\master\n");
分行打印,自己试试

执迷不悟0527 发表于 2021-12-10 11:24:29

人造人 发表于 2021-12-7 19:37
可以这样写


我找到了看我的
printf("\n\hello \n\
\n\i am\n\
\n\master\n");
分行打印,自己试试

执迷不悟0527 发表于 2021-12-10 11:25:13

傻眼貓咪 发表于 2021-12-7 19:30
其实暂时不用把它想复杂了,简单举个例吧





我找到了看我的
printf("\n\hello \n\
\n\i am\n\
\n\master\n");
分行打印,自己试试

人造人 发表于 2021-12-10 11:30:40

执迷不悟0527 发表于 2021-12-10 11:24
我找到了看我的
printf("\n\hello \n\
\n\i am\n\


$ gcc -g -Wall -o main main.c
main.c: In function ‘main’:
main.c:6:13: warning: unknown escape sequence: '\040'
    6 | \n\master\n");
      |             ^
main.c:6:13: warning: unknown escape sequence: '\i'
main.c:6:13: warning: unknown escape sequence: '\m'

傻眼貓咪 发表于 2021-12-10 11:43:14

执迷不悟0527 发表于 2021-12-10 11:25
我找到了看我的
printf("\n\hello \n\
\n\i am\n\


#include <stdio.h>

int main(){
       
        /*
        这是你的代码
        printf("\n\hello \n\
        \n\i am\n\
        \n\master\n");
        */
       
        // 这是正确代码
        printf("\
        hello \n\
        i am\n\
        master");
       
        // 什么时候该用 '\' 什么时候该用 '\n' 你应该要非常清楚才是
}
页: [1]
查看完整版本: 求助断行打印(输出)格式