我试图为字符串指针赋值.它正在编译并运行,但没有打印正确的答案?
char *x = "girl";
*x = x[3];
printf("%s\n",x);
Run Code Online (Sandbox Code Playgroud)
为什么不打印"lirl"?
我猜输出应该是"0000"但它的ffff不是~ffff-> 0000 0000 0000 0000
#include<stdio.h>
int main()
{
unsigned int a=0xffff;
~a;
printf("%x\n", a);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 此代码在Turbo C上运行但在gcc编译器上运行
错误:'*'标记之前的语法错误
#include<stdio.h>
int main()
{
char huge *near *far *ptr1;
char near *far *huge *ptr2;
char far *huge *near *ptr3;
printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Turbo C输出为:
4,4,2你能解释一下Turbo C的输出吗?