xAB在C语言中代表什么

Python012

xAB在C语言中代表什么,第1张

\xAB在C语言中表示一种转义字符,是一个字符。

其中x表示16进制,AB表示16进制的2位数,表示171(16进制AB对应的10进制值)所对应的ASCII码所表示的字符。

在C语言中,以反斜杠开头,后跟一个字符或一个数字序列来表示一个字符量,称为转义字符。

转义字符主要有以下三种形式:

1、反斜杠后跟特定字符,如'\n'

2、反斜杠后跟1~3位8进制数,如'\101'

3、反斜杠后跟1~2位16进制数(要以x开头),如'\xAB'

(a=3,b=++a)是逗号表达式,计算机会顺序执行其中的语句,整个表达式是最后一个语句的计算结果

先执行a=3现在变量a的值为3

然后执行a++由于++出现在变量a前面,所以这个自加运算会在给变量b赋值之前执行完毕

接着执行b=a则最后一个语句的结果就是b的值

最后执行x=b所以x的值是4

a[]比a少一维,我具体给你解释下。

几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。

比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。

假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。

再说说你给的程序,你是不是在疑问为什么gets()直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?

这得给存储方式有关,字符串就是字符的二维数组,gets()需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf()了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf()之前你学的一般都是(printf("%d",a[1]))这种类型的。这里为啥要填一个地址参数呢?这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从哪里开始,从哪里结束了。

纯手打,望采纳。