linux下C语言类型转换char与int

char c = -1;printf("c = %d\n", c);

上述两行简单的代码,在本机电脑上编译打印的结果是-1,但是经过交叉编译后,移植到板子上运行打印出255,请教一下这个是为什么呀?


缥缈止盈
浏览 2112回答 3
3回答

慕妹3146593

可能是板子的编译器是把char当成无符号数对待的

胡说叔叔

这个和编译器相关,不同的编译器会把 char 当成 signed char 或者 unsigned char
打开App,查看更多内容
随时随地看视频慕课网APP