诸神之王 发表于 2022-7-21 23:27:04

萌新求助

跟着小甲鱼学c语言。刚学到字符和字符串,然后之前敲的代码没有删我接着打后面的代码就出现了最后的打印结果时后面的代码把前面的覆盖掉。
一开始代码如下:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a = 70,b = 105,c = 115,d = 104,e = 67;
    char name[] = {'F','i','s','h','C'};

    printf("%c%c%c%c%c\n ",a,b,c,d,e);
    printf('%s',name);



    return 0;
}

结果因为等级太低无法上传图片就是说只有一个FishC的显示。

后面我根据讲的内容改成了如下代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a = 70,b = 105,c = 115,d = 104,e = 67,f = '\0';
    char name[] = {'F','i','s','h','C'};

    printf("%c%c%c%c%c%c\n ",a,b,c,d,e,f);
    printf('%s',name);



    return 0;
}

最后结果并没有变化。

求求大佬解释一下为什么啊。
还有就是如果我要两个字符串都显示出来,我需要怎么调整代码啊。

谢谢大佬指点

柿子饼同学 发表于 2022-7-22 08:14:06

字符是用 ASCII 编码存放的 , 可以用数字表示 , 有兴趣去看看 ASCII 表
所以没有覆盖这回事

黎羽轩 发表于 2022-7-22 09:33:58

你在第二个输出语句中,双引号打成单引号了(见附件图片)

黎羽轩 发表于 2022-7-22 09:35:43

黎羽轩 发表于 2022-7-22 09:33
你在第二个输出语句中,双引号打成单引号了(见附件图片)

另外,如果是字符串的话,尽量在末尾出现“\0”,不然在输出时会有乱码哦(占位的)

诸神之王 发表于 2022-7-22 21:54:42

黎羽轩 发表于 2022-7-22 09:33
你在第二个输出语句中,双引号打成单引号了(见附件图片)

哦哦。确实。改了就没问题呢。谢谢

诸神之王 发表于 2022-7-22 21:55:14

黎羽轩 发表于 2022-7-22 09:35
另外,如果是字符串的话,尽量在末尾出现“\0”,不然在输出时会有乱码哦(占位的)

ok。感谢大佬帮忙。感谢

顶级太阳 发表于 2022-7-23 09:17:44

诸神之王 发表于 2022-7-22 21:55
ok。感谢大佬帮忙。感谢

首先,给你一个概念。所有东西在计算机里都是以数字来存储的。你定义的char,表面上定义的是数字,其实由于前面的char已经限定了计算机要看成是ASCII码,那么你可以查ASCII表,看看这些你定义的数字对应什么字符。后面用数组定义的是6个字符(学到后面就理解了)。你两次的代码都是没有问题的。定义f只是在这个位置增加了一个告诉计算机结束的标志。在某些情况下,当你以字符串的形式处理这几个字符的时候会有意义的。
其次,你最后说要显示两个字符串。我想你应该就是前面定义的6个字符想要作为一个字符串来处理。后面会有办法的。
加油,继续学习,耐心一点。

aaron0919 发表于 2022-7-31 16:02:29

printf("%c%c%c%c%c%c\n ",a,b,c,d,e,f);
printf('%s',name);
      ^~~~~~~~~~~~~
单双不分

额外减小 发表于 2022-7-31 17:45:16

顶级太阳 发表于 2022-7-23 09:17
首先,给你一个概念。所有东西在计算机里都是以数字来存储的。你定义的char,表面上定义的是数字,其实由 ...

我想知道(大佬勿喷)

ExiaGN001 发表于 2022-8-13 17:23:56

额外减小 发表于 2022-7-31 17:45
我想知道(大佬勿喷)

                                        33='!'      34='"'      35='#'      36='$'      37='%'      38='&'      39='''      40='('
41=')'      42='*'      43='+'      44=','      45='-'      46='.'      47='/'      48='0'      49='1'      50='2'
51='3'      52='4'      53='5'      54='6'      55='7'      56='8'      57='9'      58=':'      59=';'      60='<'
61='='      62='>'      63='?'      64='@'      65='A'      66='B'      67='C'      68='D'      69='E'      70='F'
71='G'      72='H'      73='I'      74='J'      75='K'      76='L'      77='M'      78='N'      79='O'      80='P'
81='Q'      82='R'      83='S'      84='T'      85='U'      86='V'      87='W'      88='X'      89='Y'      90='Z'
91='['      92='\'      93=']'      94='^'      95='_'      96='`'      97='a'      98='b'      99='c'      100 ='d'
101 ='e'      102 ='f'      103 ='g'      104 ='h'      105 ='i'      106 ='j'      107 ='k'      108 ='l'      109 ='m'      110 ='n'
111 ='o'      112 ='p'      113 ='q'      114 ='r'      115 ='s'      116 ='t'      117 ='u'      118 ='v'      119 ='w'      120 ='x'
121 ='y'      122 ='z'      123 ='{'      124 ='|'      125 ='}'      126 ='~'      127 =''      128 ='
页: [1]
查看完整版本: 萌新求助