66问答网
所有问题
c语言字符串问题
c语言字符串问题为什么c字符串后面有多余的字符
举报该问题
推荐答案 2017-11-24
因为你没给字符串c加字符串结束符'\0'
追答
char c[11];要改成char c[12];
在倒数第二个printf语句前要加一行:
c[k+i]='\0';
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/Dp99Upxni2x92D2xpn.html
其他回答
第1个回答 2017-11-24
因为你没算进去\0 结束符的长度,实际上你c数组已经溢出了,
A和B加起来是11个字节,而你C才11长度,你必须把C设置为12长度才行。
printf这里是运气好,碰到了\0才结束的,如果这块内存没碰到\0你就会刷屏乱码了
追问
还是不可以啊
本回答被网友采纳
相似回答
c语言字符串
结尾的
问题
?
答:
!='\0'.就是运行到
字符串
结尾时结束。!的意思是非,亦可以理解成不。‘\0’是字符串的结束符号,由编译器自动加上。比如说,把一个字符串赋值给数组:u8 str1[]={"cxjr.21ic.org"};实际上数组str1在内存中的实际存放情况为: c x j r . 2 1 i c . o r g '\0' 这后面的'\0...
C语言字符串问题
答:
1.
字符串
初始化,如果逐个赋值的话,系统不一定会自动添加'\0',除非指定了长度且指定的长度大于等于你赋值的字符的个数加1,即最小为你赋值的字符个数加1。假设你指定的字符个数为n,长度为len,则系统会将剩下的(len-n)个元素都赋值为'\0',当n等于len时,不会添加任何'\0'。之所以出现...
关于
C语言字符串
数组输入
问题
?
答:
这当然不行啊,char *a[11];表示定义了11个
字符
型指针,每个指针还没有指向有存储空间的内存地址。如果想要能运行需要申请内存加上 a[0]=(char*)malloc(100);
呵呵,问一个
C语言
里
字符串
长度的
问题
。
答:
1 表示
字符
1 \
C语言
输出最长
字符串问题
答:
; printf("请输入一个
字符串
:\n"); gets(line); printf("最长的单词是:"); for(i=longest(line);alphabetic(line[i]);i++) printf("%
c
",line[i]); printf("\n"); return 0;}int alphabetic(char c){ if((c>='a' && c<='z'...
C语言
将
字符串
逆序输出
问题
(用函数)
答:
采用函数进行
字符串
逆序输出,过程为:定义函数,参数为字符串指针 定义局部变量指针t指向原字符串 移动t指针到字符串尾 向移动t指针,直到回到原指针头,输出各位置字符。参考代码:
大家正在搜
c语言字符串转数字
字符串c语言
c语言怎么输入字符串
c语言字符串数组
c语言字符串定义
c语言输出字符串
c语言比较字符串大小
c语言字符串函数
c语言字符串拼接
相关问题
c语言字符串运算
关于C语言字符和字符串的问题
c语言字符问题
C语言字符串问题?
一个C语言字符串输入问题
c语言定义字符串
C语言字符串问题求解?
C语言字符串问题