读程序段,回答问题
(a)
int main(int argc,char *argv[])
{
int c=9,d=0; c=c++%5;
d=c; printf(d=%d\n,d); return 0;
}
写出程序输出
在一个可移植的系统中这种表达式是否存在风险?why? 答案:5
存在风险,因为 c=c++%5;这个表达式对 c 有两次修改,行为未定义,c 的值不确定
(b)
#include stdio.h
int a=0; // data section int b; // data section static char c; // BSS
int main(int argc,char *argv[])
{
char d=4; // stack static short e; // BSS a++;
b=100;
c=(char)++a; e=(++d)++;
printf(a=%d, b=%d, c=%d, d= %d, e=%d,a,b,c,d,e); return 0;
}
写出程序输出
编译器如果安排各个变量(a,b,c,d)在内存中的布局(eg. stack,heap,data section,bss section), 最好用图形方式描述。
答案:a=2,b=100,c=2,d=6,e=5
中断是嵌入式系统中重要的组成部分,这导致了许多编译开发商提供一种扩展
您可能关注的文档
最近下载
- 陕西榆林市提高农业机械化水平促进农业可持续发展.docx
- 常见的中科院深圳先进技术研究院.ppt
- 《鲁迅与新兴木刻》教学课件-2024-2025学年浙人美版(2024)初中美术七年级上册.pptx VIP
- 【固定动火区设置】6-固定动火区责任标识牌.pdf VIP
- 强化学习(多)智能体 和 大语言模型(多)智能体.pdf VIP
- 商务英语(北京交通大学)中国大学MOOC慕课章节测验答案(课程ID:1205722812).pdf VIP
- 体位摆放和转移训练课件.ppt VIP
- 10 爬山虎的脚 第2课时 统编版语文四年级上册 课件.ppt VIP
- 关于郑州的记忆-弹唱谱(易上手)钢琴谱钢琴简谱 数字谱 钢琴双手简谱.pdf VIP
- 阿海珐GL314断路器检修维护导则.doc VIP
原创力文档

文档评论(0)