我不习惯C,因为我主要是一个Java人,对C++有一定的了解,所以如果这是一个微不足道的问题,请原谅我.我在网上搜索时似乎无法找到答案.
我正在初始化一个char数组......
char tcp[50];
Run Code Online (Sandbox Code Playgroud)
这样我就可以连接一个const char和一个char.在示例中,我看到一个简单的方法是通过创建空char数组然后使用...
strcat(x,y);
Run Code Online (Sandbox Code Playgroud)
将它们粘在一起
问题是,当它设置为"50"时打印出空白字符数组给我一个结果:
X??|?
Run Code Online (Sandbox Code Playgroud)
当我把它改成......
char tcp[100];
Run Code Online (Sandbox Code Playgroud)
打印它,它的空白.为什么是这样?
假设它是一个本地(自动)数组,数组内容是未定义的.
使用:
char tcp[50] = "";
Run Code Online (Sandbox Code Playgroud)
要么:
char tcp[50] = {0};
Run Code Online (Sandbox Code Playgroud)
要么:
char tcp[50];
tcp[0] = 0;
Run Code Online (Sandbox Code Playgroud)
要么:
char tcp[50];
memset(tcp, 0, sizeof(tcp));
Run Code Online (Sandbox Code Playgroud)
随你心意.
归档时间: |
|
查看次数: |
1008 次 |
最近记录: |