下面程序是否有语法错误,有请改正并写出打印结果。

图片说明

不能将char* 转换为long*需要强制转换

程序没有问题,会有一些编译警告,64位系统输出可能如下:
[8],90
[8],234567890

程序没有问题,会有一些编译警告,64位系统输出可能如下:
[8],90
[8],234567890

将 char* 转换为 long* 需要强制转换,即: long *pLong = (long *)str;
还有,long * 指针无法按 %s 输出。

语法错误:不能将char* 转换为long*需要强制转换
输出结果:567890
234567890

前面两个sizeof均为4(32位机器的话)