1楼:匿名用户
while((s[i]=getchar())!='\n')i++;//这两句是完成数据输入,每输入一个,i就会加1,直到遇到输入回车符
s[i]='\0';//
一、这句
回不是while循环的内容答,
二、此功能为:将回车符变成字符串结束符(只是针对数组的某一位进行操作,而不是改变整个数组内容),你这个**中可见,回车符不是你想要的数据,只是输入结束的一个判断值。
2楼:匿名用户
这是因bai为字符串是以‘
du\0'做为结束标志的zhi。在内存中,比如字符dao串,“abc",实际上版
是四个字节的空间
权abc'\0'。
在你的程序中:
while((s[i]=getchar())!='\n')i++;
s[i]='\0';
前面的while只是得到了字符串的字符,而没有结束标志。
如果没有最后一句s[i]='\0';
你的字符就不能正确结束。如果打印,可能是一大串的乱码。只看你字符串存储空间后面的是什么值。
3楼:瓜娃子
表示bai这个之后的
字符都不du是这个字符串的
zhi。
也就是说,整个字符串dao内容只是从开头到'\0'
比如专:char s[10]="123";
printf("%s",s);//是123s[1]='\0';
printf("%s",s);//是1
另外属,如果'\0'之后还有其他字符,则全部忽略,这是一种策略,c风格字符串就是这样。
如果你忘了加(一般系统帮你加),程序会崩溃
4楼:
‘\0'是字符串结束符,字符串处理
函数遇到该标志时,就会停止处理。
比如内在这段**中,容输入abcda回车,s[5] = '\0'; 字符处理函数strlen(s) == 5,如果不置该值,这类函数就会异常,严重时,会系统崩溃。
c语言编程,字符串的循环语句中,什么时候需要加字符串结束符号'\0'
5楼:斗帝之上魂斗罗
针对字符串,一个char一个char的遍历的时候,用ch=str[i],ch!='\0'来判断是否已经遍历完成
关于c语言字符数组的赋值最后自动添加‘\0’问题
6楼:
#include
voidmain()
;printf("%s\n",c);
c[0]='a';//仅对bai第一位元du素赋zhi值,它并不影响dao
其后面的版字符权
printf("%s\n",c);
c[1]='b';//同理
printf("%s\n",c);}
7楼:w天使de翅膀
可以正常读出来的,\0只是一个相当于标识符的东西,用来判断已经到达字符串的末尾
8楼:匿名用户
c[5]只有5个空间无法完全容纳字符串"hello",因为这个字符串需要占用6个字符位置。
所谓自动加'\0'的问题是内:你写在双
容引号中的,编译程序会认为是字符串,会自动为你添加上一个字符串结尾符号0,而不是运行时添加的。
如果你用debug方式运行程序,调试环境自动会把你开设的char a[5];进行初始化0的工作,这时你再将第1位初始化时,后面的0仍存在就好象字符串结尾已经存在了。如果非debug运行则没有这个初始化工作。
如果你用字符方式初始化应当写:char c[6]=;
9楼:匿名用户
char c[5] = ; 有两个问题
(1)语法不对,应该是 char c[5]="hello"
(2)有错误, char c[5]="hello",字符串终止符溢出了
2. 但是我如果定义char a[5];给前一回位赋初值,答
则第二到第五位会自动赋值'\0'
// 没错,但注意是数组第1到第4项自动赋值为0但后面我又给第三位到第五位赋值了,这个数组是不是就不能正常读出了// 需要看你赋什么值,如果是非零值、并且你把数组a当字符串使用,则结果无法预料(无法确定终止符);如果你把数组a只是当数组使用,则不会有读取问题
10楼:阿炳仰
可以正常读出 就是只能读出 第一位
c语言如何将字符串结束符'\0'一起打印出来?
11楼:匿名用户
结束符本身没有,如果想打出来可以故
意多输专
出一个\0
#include
intmain()
;属printf("%s\\0\n",s);
return0;}
C语言符串输出时最后出现乱码,C语言 字符串输出时最后出现乱码
1楼 匿名用户 输出出现乱码就是因为字符串结尾并没有结尾符 0 。 gets函数读入一行字符串时,会在最末尾自动加上 0 结尾。但是你在for循环内将s2的字符一个个拷贝到s中的时候,循环限定条件只到了s2字符串的 0 结尾符之前,所以输出乱码了。 将循环条件k 2楼 匿名用户 include in...
用c语言编程输入字符若是小写字母转换为
1楼 木澂 如下 include int main 在devc 环境下运行效果如下 2楼 郝在益 如果是小写,则将这个字符减去32,再输出。反之,加上32就是了。 include main 满意请采纳! 3楼 匿名用户 include void main else if ch 97 ch 122 p...
c语言用vc编程输入字符如果是小写字母就
1楼 匿名用户 漏掉了92 96部分 include void main 2楼 匿名用户 在main中最前面加个 char c 其他基本上没问题。 3楼 匿名用户 没有定义字符变量c,要先声明,然后才能用 4楼 高桥浩子 考虑的不是很周全。 c库中有一个转化大小写的函数,包含在《string h》中...