萌新请求大佬解释一下程序运行的结果为什么是“C language404”!!!

Mi_yifeng 2019-11-07 02:34:29
#include "stdio.h"
void main()
{union u_tag
{int ival;
float fvla;
char *pvla;
}uval,*p;
uval.ival=10;uvla.fval=9.0;uvla.pval="C language";
printf("\n%s",uval.pval);
p=&uval;
printf("%d",p->ival);
}
共用体类型变量uval中最后存储的是指向字符串“C language”的字符指针pval,所以printf("\n%s",uvla.pval)的输出结果为“C language”,但是输出语句printf("%d",p->ival)的输出结果为什么是404呢(系统为Windows 7 32位,编译系统为Turbo C2.0)?
...全文
197 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mi_yifeng 2019-11-08
  • 打赏
  • 举报
回复
引用 1 楼 wowpH 的回复:
你确定能输出吗?两个地方拼写都错了。
再次表示抱歉,昨天晚上自己想了很久,所以在输入的时候有些马虎,导致自己输入完成后没有检查,不好意思
Mi_yifeng 2019-11-08
  • 打赏
  • 举报
回复
引用 2 楼 liups 的回复:
[quote=引用 1 楼 wowpH 的回复:] 你确定能输出吗?两个地方拼写都错了。
[/quote] 不好意思,因为是自己手动输入的,所以在结构体类型定义的时候有些地方有笔误,正确的格式如下。 #include "stdio.h" void main() {union u_tag {int ival; float fval; char *pval; }uval,*p; uval.ival=10;uval.fval=9.0;uval.pval="C language"; printf("\n%s",uval.pval); p=&uval; printf("%d",p->ival); }
天外怪魔 2019-11-07
  • 打赏
  • 举报
回复
引用 楼主 Mi_yifeng 的回复:
#include "stdio.h" void main() {union u_tag {int ival; float fvla; char *pvla; }uval,*p; uval.ival=10;uvla.fval=9.0;uvla.pval="C language"; printf("\n%s",uval.pval); p=&uval; printf("%d",p->ival); } 共用体类型变量uval中最后存储的是指向字符串“C language”的字符指针pval,所以printf("\n%s",uvla.pval)的输出结果为“C language”,但是输出语句printf("%d",p->ival)的输出结果为什么是404呢(系统为Windows 7 32位,编译系统为Turbo C2.0)?
你的代码编译不通过。 给你个能编译通过版本,你在此基础上再进一步说你的问题吧:
#include<stdio.h>


int main(int argc, char* argv[])
{
	union u_tag
	{
		int ival;
		float fvla;
		const char *pvla;
	}uval, *p;
	uval.ival = 10; uval.fvla = 9.0; uval.pvla = "C language";
	printf("\n%s", uval.pvla);
	p = &uval;
	printf("%d", p->ival);
}
------------------------------------------------------------------------------------------./ 独孤九剑,万佛朝宗,三花聚顶,五气朝元! 独孤九剑,万佛朝宗,三花聚顶,五气朝元! 独孤九剑,万佛朝宗,三花聚顶,五气朝元! 独孤九剑,万佛朝宗,三花聚顶,五气朝元! 独孤九剑,万佛朝宗,三花聚顶,五气朝元!
wowpH 2019-11-07
  • 打赏
  • 举报
回复
引用 4 楼 liups 的回复:
没注意挠头,只看到一张脸笑得稀烂(方言,估计能懂吧)
emmmm
liups 2019-11-07
  • 打赏
  • 举报
回复
引用 3 楼 wowpH 的回复:
[quote=引用 2 楼 liups 的回复:]
emmm你挠头干嘛[/quote] 没注意挠头,只看到一张脸笑得稀烂(方言,估计能懂吧)
wowpH 2019-11-07
  • 打赏
  • 举报
回复
引用 2 楼 liups 的回复:
emmm你挠头干嘛
liups 2019-11-07
  • 打赏
  • 举报
回复
引用 1 楼 wowpH 的回复:
你确定能输出吗?两个地方拼写都错了。
wowpH 2019-11-07
  • 打赏
  • 举报
回复
你确定能输出吗?两个地方拼写都错了。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧