c-运行结果为什么没有e 而是只有一个空格?

问题描述

运行结果为什么没有e 而是只有一个空格?
char s1[10]=""abcdef""s2[10]=""12345"";
int i;
strcpy(&s1[2]&s2[3]);
for(i=0;i<6;i++)

printf(""%c""s1[i]);

printf(""n"");
system(""pause"");

结果为:ab45 f
为什么没有e 而是只有一个空格?

解决方案

copy的过去的是45''从s1[2]开始,3个字符刚好e被覆盖成''了。这是字符结束标记,打印出来就是空

解决方案二:
这是因为将字符数组当成字符串操作时,结尾会有一个 NULL 一起被复制,这样导致的 e 的位置被覆盖了。
解决方法是将 strcpy(&s1[2]&s2[3]); 语句换成 内存Copy 或 for 循环Copy。

解决方案三:
The strcpy function copies strSource including the terminating null character。

解决方案四:
字符串以''作为结束标志,你copy时e覆盖了。

时间: 2024-08-18 07:34:59

c-运行结果为什么没有e 而是只有一个空格?的相关文章

mac eclipse-mac下安装eclipse后每次运行都在下载文件夹生成一个0字节的文件

问题描述 mac下安装eclipse后每次运行都在下载文件夹生成一个0字节的文件 每运行一次后就生成一个名字叫eclipse.app的0字节文件,删除后运行eclipse后会在生成,如果没有删除这个文件就不会再读生成,卸载删除eclipse,重新安装,问题依然存在,同样的问题在国外的论坛上也有,只是没有解决,不知道有没有大神能解决?我观察了一下删除文件后重新运行eclipse,当程序右下角显示setup check后产生该文件,我在电脑上第一次运行eclipse是在下载文件夹 解决方案 看看是不

如何解决win7运行程序时显示“从服务器返回一个参照”

  方法一. 1.以管理员身份运行,出现"从服务器返回一个参照"是因为可执行文件没有权限导致的,所以给予它最高权限,这样就可以解决问题了. 2.如果你经常使用这个软件的话,可以配置打开方式,比较方便,这样它就可以每次打开的方式都是以管理员身份运行了,方法是鼠标右击执行文件,然后选择"属性",在"兼容性"选项卡中,然后在特权等级下勾选"以管理员身份运行此程序",点击确定退出即可. 方法二. 1.打开开始菜单中的控制面板,然后点击

在树莓派 3 上运行 openSUSE:简单几步搭建一个实用系统

首先,你将会有一些版本可供选择.如果你打算使用树莓派 3 作为一个普通主机,那么带有图形界面的 openSUSE 将是你最好的选择.有几种不同的图形环境可供选择:X11.Enlightenment.Xfce 或是LXQT.openSUSE 还有一个 JeOS 版本能够提供最基础的系统,可以把树莓派 3 作为一个无显示器的服务器使用.更好的选择还有 openSUSE 的 Leap 或 Tumbleweed 版本. 首先你需要从 https://en.opensuse.org/HCL:Raspber

在树莓派3上运行openSUSE:简单几步搭建一个实用系统

在树莓派 3上部署 openSUSE 系统不是很复杂,不过这儿有一些小技巧教你更好地完成这个过程.首先,你将会有一些版本可供选择.如果你打算使用树莓派 3 作为一个普通主机,那么带有图形界面的 openSUSE 将是你最好的选择.有几种不同的图形环境可供选择:X11.Enlightenment.Xfce 或是 LXQT.openSUSE 还有一个 JeOS 版本能够提供最基础的系统,可以把树莓派 3 作为一个无显示器的服务器使用.更好的选择还有 openSUSE 的 Leap 或 Tumblew

java程序 不能运行-JAVA小程序开发中遇到一个问题

问题描述 JAVA小程序开发中遇到一个问题 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at Studentguanli.actionPerformed(Studentguanli.java:111) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$

C# modbus tcp协议在运行时出现远程主机强迫关闭了一个现有的连接

问题描述 在做上位机与下位机通讯的时候(其中上位机端为客户端,下位机端为服务器端),当出现上位机与下位机通讯断线重连的时候,会偶尔(并不是每次都会出现)出现这个问题:远程主机强迫关闭了一个现有的连接.查了下问题应该是出在红色的那一块,这个该怎么解决?internalclassModbus_SocketWrapper:IDisposable{privatestaticintPort=Int32.Parse(ConfigurationManager.AppSettings["Port"])

在哪个方法里面创建群聊,只给一个用户名,怎么在程序刚运行的时候直接把相关人员创建一个群?

问题描述 解决方案 登录后调用建群的方法创建一个群即可.http://docs.easemob.com/doku.p ... pmgmt解决方案二:想要创建群组,就调用创建群组的接口就好了.有关群组的相关操作接口链接:http://docs.easemob.com/doku.p ... pmgmt,具体实现可以参考下demo.

socket-android模拟器运行正常,真机测试程序崩溃

问题描述 android模拟器运行正常,真机测试程序崩溃 一个按钮,点击调用shut_code发送信息.shut_code贴上: private void shut_code() { String msg= "shutdown"; int port = 8099; DatagramSocket s = null; try{ s = new DatagramSocket(); }catch(SocketException e){ e.printStackTrace(); } InetAd

进程-android进城服务(一直运行脚本?)

问题描述 android进城服务(一直运行脚本?) 安卓可以写一个类,无论切换哪个activity这个类在进行嘛?新手求教! 解决方案 http://www.cnblogs.com/devinzhang/archive/2012/01/02/2309733.html 解决方案二: Android Service---在前台运行服务Android Service---在前台运行服务使用startForeground让android服务前台运行