c语言中不是说 结构体也能强制转换类型的吗,为什么写的这段代码会报错呢?
#include<stdio.h>structA1{inta;charb;};structA2{chara;intb;};main(){structA1x={10,'A'...
#include <stdio.h>
struct A1
{
int a;
char b;
};
struct A2
{
char a;
int b;
};
main(){
struct A1 x = {10, 'A'};
struct A2 y = {'A', 10};
struct A2 z;
z.a = ((struct A2)x).a;
printf("%d",z.a);
}
错误提示是:conversion to non-scalar type requested ,跪求各位大侠帮忙看看,指导一下,小女子不胜感之情。 展开
struct A1
{
int a;
char b;
};
struct A2
{
char a;
int b;
};
main(){
struct A1 x = {10, 'A'};
struct A2 y = {'A', 10};
struct A2 z;
z.a = ((struct A2)x).a;
printf("%d",z.a);
}
错误提示是:conversion to non-scalar type requested ,跪求各位大侠帮忙看看,指导一下,小女子不胜感之情。 展开
6个回答
展开全部
为什么要把结构体强制类型转换啊?结构体可以直接赋值的。
#include "stdafx.h"
struct A
{
char a;
int b;
};
struct B
{
int a;
char b;
};
int main(int argc, char* argv[])
{
A x = {'A' ,10};
B y = {11, 'B'};
B z;
z.a = x.a;
printf("%d\n",z.a);
return 0;
}
输出A的值65
#include "stdafx.h"
struct A
{
char a;
int b;
};
struct B
{
int a;
char b;
};
int main(int argc, char* argv[])
{
A x = {'A' ,10};
B y = {11, 'B'};
B z;
z.a = x.a;
printf("%d\n",z.a);
return 0;
}
输出A的值65
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也想说是谁告诉你可以强制转换的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没继承关系,搞什么强制类型转换啊。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有这样的结构体转换么?就算有,这样使用肯定是不正确的,你想要达到的目的是什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询