鱼C论坛

 找回密码
 立即注册
查看: 2042|回复: 15

C语言 字符串 初始化

[复制链接]
发表于 2016-1-10 10:45:41 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 独一无② 于 2016-1-10 10:46 编辑

我想给 一个字符数组 初始化,但是一行写不下,分二行,就报错了。如下:

#include<stdio.h>
#include<string.h>
int main()
{
    int i;
        char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ   //这里不加 " 报错了 
              abcdefghijklmnopqrstuvwxyz";
                  //二行并在一起写就没有问题 
        i=strlen(a);
        printf("%d",a);
}

[Error] D:\未命名2.cpp:7: error: missing terminating " character
不是说C语言 不管 空格之类的吗?为什么会错呢,怎样才可以正确初始化一个大数据字符串。

最佳答案

查看完整内容

两种解决办法 第一种:在第一行末尾加上"\" 第二种:两行都分别用引号括起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 10:45:42 | 显示全部楼层
两种解决办法
第一种:在第一行末尾加上"\"
char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ\
              abcdefghijklmnopqrstuvwxyz";
第二种:两行都分别用引号括起来
char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
              "abcdefghijklmnopqrstuvwxyz";
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 11:19:26 | 显示全部楼层
加\或者两个都用双引号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 11:22:39 | 显示全部楼层
SXTDU 发表于 2016-1-10 11:19
加\或者两个都用双引号

都用 上引号  那就存不到 一个数组里了  ,是在第一行后面加  \ 吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 11:25:36 | 显示全部楼层
独一无② 发表于 2016-1-10 11:22
都用 上引号  那就存不到 一个数组里了  ,是在第一行后面加  \ 吗?

嗯 学校不让带电脑 没法试验 只能凭印象 有错的话抱歉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 11:29:32 | 显示全部楼层
SXTDU 发表于 2016-1-10 11:25
嗯 学校不让带电脑 没法试验 只能凭印象 有错的话抱歉了

没事没事,我刚刚测试了,加了 \ 后 的确不报错了,但是输出的数字 好大的。不知道为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 11:31:46 | 显示全部楼层
SXTDU 发表于 2016-1-10 11:25
嗯 学校不让带电脑 没法试验 只能凭印象 有错的话抱歉了

不不不,说错了,刚刚测试错了,就是上面那个程序,输出 结果是 66,多了14个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 11:36:25 | 显示全部楼层
Z之后用了\下一行要从行头开始 不然会把空格也输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 11:56:11 | 显示全部楼层
SXTDU 发表于 2016-1-10 11:36
Z之后用了\下一行要从行头开始 不然会把空格也输入

什么意思?没有看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 11:57:49 | 显示全部楼层
SXTDU 发表于 2016-1-10 11:36
Z之后用了\下一行要从行头开始 不然会把空格也输入

哦哦,懂了,这样不太美观了,不过解决了问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 14:43:16 | 显示全部楼层
c语言中字符串中不能有空格的,如果写比较长的字符串直接写就可以不用空格   希望对你有帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 16:17:43 | 显示全部楼层
babyrui 发表于 2016-1-10 14:43
c语言中字符串中不能有空格的,如果写比较长的字符串直接写就可以不用空格   希望对你有帮助

可是太长了,想换一行接着写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 16:29:02 | 显示全部楼层
独一无② 发表于 2016-1-10 16:17
可是太长了,想换一行接着写

楼主你这强迫症适合来写Python代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 16:47:52 | 显示全部楼层
hldh214 发表于 2016-1-10 16:29
楼主你这强迫症适合来写Python代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-19 22:37:33 | 显示全部楼层
在C中,字符串内的空格也是字符串的一部分,建议写同行,若是强迫症发作,\之后的一行要顶格写。去学树莓派吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-2-1 23:09:12 | 显示全部楼层
shuofxz 发表于 2016-2-1 22:15
两种解决办法
第一种:在第一行末尾加上"\"

O(∩_∩)O谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 18:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表