c语言编程时字符型数据全都变□了 怎么办?老师说是什么数组越界 我也不懂谁帮我看看??

如题所述

ascii值为3的字符是一个控制字符(非打印字符)。

想要输出字符3的话,应该是:

printf("%c",'3');


你说的情况或许与电脑的设置有关。

以下是在Win7 , Dev C++环境下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-10

%c代表的是字符型,只能输出一个字符,如果你只写数字3的话,会输出ASCLL码为3的字符,如果你是想输出3的话,要加上单引号,你试一下

#include<stdio.h>
main()
{
printf("%c", '3');
}

还有一种办法是输出字符串,用%s,后面用双引号,这个可以输出多个字符,代码如下

#include<stdio.h>
main()
{
printf("%s\n", "hello");
}

如有不懂欢迎追问!

追问

我就是要3的字符是❤,但是所有字符图形都变为了□

追答

哦,你就是要心的符号啊,解决没呢,你把3改为 '\3' 试试,如果再不行的话,你就运行一下下面的程序,看看有没有心形符号,有的话直接把3改为心符号对应的数字,没有的话把结果给我发一下,我再看看

#include<stdio.h>
main()
{

int i=0;
for(i=0;i<128;i++)
{
        if(i==8||i==10||i==13)
printf("%3d    ",i);
else
printf("%3d %c  ",i,i);
if(i%5==4)
printf("\n");
}
printf("\n");
}

本回答被网友采纳
第2个回答  2017-01-10
%c改成%d?
相似回答