这是我的代码:
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char **argv){
printf("%x\n",*argv[1]);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
编译后(gcc -o main main.c),我运行它没有问题:
./main 1
31
Run Code Online (Sandbox Code Playgroud)
注意:31是十六进制代码1
但是当用Unicode参数运行它时,打印4Byte十六进制:
./main $(printf "\Udbb1")
ffffffed
Run Code Online (Sandbox Code Playgroud)
有什么问题?