char x[ ]="STRING"; x[0]=0; x[1]='\0'; x[2]='0'; 帮忙分析下赋值的这...
发布网友
发布时间:2024-10-03 07:38
我来回答
共2个回答
热心网友
时间:2024-10-19 13:48
把他们表示成统一的16进制你大概就明白了
char x[]说明数组x是字符型的,每个字节都是ascii码
x[0]=0就是ascii码为0的字符,
x[1]='\0',字符'\0‘的ascii码为0,因此x[1]=0。
x[0]和x[1]其实相等的
而x[2]='0',’0‘的ascii码是30H,因此x[2]=0x30
热心网友
时间:2024-10-19 13:42
这几个赋值的效果都是一样的
都会导致你在用%s输出字符串的时候,这几个赋值相当于插入一个字符串的结束标志
%s输出x,得到的结果是一片空白的
热心网友
时间:2024-10-19 13:44
把他们表示成统一的16进制你大概就明白了
char x[]说明数组x是字符型的,每个字节都是ascii码
x[0]=0就是ascii码为0的字符,
x[1]='\0',字符'\0‘的ascii码为0,因此x[1]=0。
x[0]和x[1]其实相等的
而x[2]='0',’0‘的ascii码是30H,因此x[2]=0x30
热心网友
时间:2024-10-19 13:47
这几个赋值的效果都是一样的
都会导致你在用%s输出字符串的时候,这几个赋值相当于插入一个字符串的结束标志
%s输出x,得到的结果是一片空白的