关于vc++6.0中char的一些问题

最近自学c我有几个问题,麻烦知道的人回答一下谢谢1,用vc++6.0中char的书写比如以下#include<stdio.h>intmain(){charch='abcd... 最近自学c 我有几个问题,麻烦知道的人回答一下 谢谢
1,用vc++6.0中 char的书写 比如以下
#include <stdio.h>
int main()
{
char ch = 'abcd'
printf("ch = %c\n", ch);
return 0;
}
第一个问题:为什么单引号能写四个字符超过4个就是错误 是不是因为int是4字节的而char是1字节的 还有就是如果考试char ch = 'abcd'到底算对还是算错(因为都说单引号里只写一个字符) 可是实际操作上我写二个三个四个他没有报错甚至我的vc上警告都没有。(我知道输出是d而且好多人都解释为什么但意见都不一 有没有大手真能解释对的多谢了)
第二个问题:如果我写字符串是不是要加#include <string.h>等一系列的也就是要引用指针或者数组 如果是直接回答是就好因为我还没学到 (如果能最好写出一个简单的来并且解释一下 那就感激不尽了)
第三个问题:如果第二个问题假设正确 是不是我按上所写把单引号改成双引号的报错(告诉我未能初始化)就是因为没有加#include <string.h>等一系列的 如果是我就不用再纠结了因为这个问题在我看的视频里没有出现 他们都是单字符单引号多字符双引号也没有加#include <string.h>什么的就直接正确 他们也是vc++6.0 有没有能解释下的
第三个问题最后我的表述有些错误 就是说
#include <stdio.h>
int main()
{

char ch = "A";
printf("ch = %c\n", ch);

return 0;
}
按第二个问题说法是不是他一定就会报错因为char是单个字符
展开
 我来答
kyotrue
2016-11-07 · TA获得超过1.5万个赞
知道大有可为答主
回答量:2.3万
采纳率:75%
帮助的人:7370万
展开全部
1、单引号是表示字符,只能是单个字符,当然不能char ch = 'abcd'了,你这样连分号都没有,居然没报错?你逗我?

2、没有string.h,char是C内嵌类型,#include <string>引用的是C++封装的string类,并不是简单类型

3、字符串只能赋给char*
更多追问追答
追问

我后面写的有些问题 不过第一个确实是这样 分号是忘打上去了。这个问题我在贴吧见人问过没人说 所以才会问 最后一个问题写的有点傻 还有就是char*后面要附带什么吗

追答
char ch,就只是定义了一个空间为1个字节的字符变量
而'abcd',是整型数一种表示方法,你试试'abcde'就编不过了。
因为ch只有一个字节,所以赋值时是截断操作,只能取到最低位的d。

char*是字符指针,这个不是我两句话能说清楚的, 自己好好学习理解下指针再说。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式