y会被打印,复合语句要加大括号,否则最后那个printf一定会被执行 加个大括号即可:我的习惯是不管if,e...
空格的原因是printf("the reverse line is:\n %s", rev);这句里面有一个空格(你的格式是换行后空格输出 所以有一个空格)至于烫的原因 是 for (i = 0; i <= len; ++i)rev[len - i] = ori[i - 1];是当i=0的时候引用了ori[-1]是位置的内存,所以出现的 改为 for (i = 1; ...
当使用 %c 格式符号,传入的参数是字符串,输出是可以输出,但得到的会是一个未知的符号。例如我运行后获得一个问号:而使用 %s 格式符号,传入的参数是 char 类型的数据就会引发异常。关于 %c 输入还有一个比较好玩的,有时候两个 %c,传入的参数是两个任意的整数,会构成一个新的字符,可能是汉字,或者其他...
还有个问题是:mystrcat最后return s;但是这个s已经不是指定字符串的开始了。换句话说,你成功的连接了字符串,但是你返回的是这字符串之后的地址空间。char *mystrcat(char *s,char *ct) //字符串连接 { char * const ret = s;while(*(s++));s--;while(*ct)(s++) = *(ct++);retur...
题主的情况可能是因为 Visual Studio Code 终端的字符编码不支持中文字符的表示。需要将 Visual Studio Code 编码格式设置为 UTF-8 或者在代码中使用相应的编码转换函数解决。设置 Visual Studio Code 编码格式的步骤如下:打开 Visual Studio Code 点击文件菜单,选择首选项 点击文件编码,选择需要的编码...
char a[]="我";printf("%s\n",a);
把汉字赋值给字符串变量,然后输出这个字符串试试
string s = "中国";printf("%s" , s);//输出乱码 果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换言之,printf只能输出c语言中的内置数据,string不是c语言内置数据。更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有...
倘若楼主是想实现大小写转换的的话,你小写字母应该是a-32,因为小写字母的ASCII码值大。而?也有ASCII码值,是63,你可以去刻意控制输入的值,先心中猜想,在对照看看
问号的原因 当我们在命令行中运行javac时,有时会看到类似如下的输出: javac ? 1. 这个问号实际上是由于我们在运行javac命令时缺少了必要的参数或者使用了错误的参数导致的。下面将列举一些常见的原因和解决方法。 1. 缺少源文件 当我们运行javac命令时,必须指定要编译的Java源文件。如果缺少源文件,就会出现问号。