考虑一个C程序:
#include <stdio.h>
int main (void)
{
int x = 'a';
printf("%d", x);
}
根据ASCII值表,输出为97
。
但是在下面的例子中:
#include <stdio.h>
int main(void)
{
int x ='aa';
printf("%d", x);
}
输出为24929
。
有人可以解释文字是如何转换为这个整数值的吗?
答案 0 :(得分:3)
int x ='aa';
这是有效的,但SELECT * FROM table
where primaryuniquefield = '$variable2'
and somenotuniquefield like '%\"$variable1\"%'";
的值是实现定义的。顺便说一句,这不是一个字符串文字。字符串文字就是这个“aa”。
答案 1 :(得分:0)
您使用八位字节为int分配了一个值:'a'
为0x61
。
所以写int x = 'aa'
就像写int x = 0x6161
。
编辑:但不要写。只需撰写int x = 0x6161
或int x = 24929
。