C语言问题?

设i为int型变量,则下面程序段的输出结果是_______。for(i=1;i<=3;i++);printf("OK");... 设i为int型变量,则下面程序段的输出结果是_______。 for(i=1; i<=3; i++); printf("OK"); 展开
 我来答
理佑平郸胭
2020-05-10 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:26%
帮助的人:812万
展开全部
结果是22
7+7+8=22
你可以将
(++i)+(++i)+(++i)
++i是先+1再计算,还有这里的运算顺序是从左到右,所以应该是
7+7+(++i)=14+8=22(前两个相加时,i先加1,加了两次,所以是7,因为第三个++i还没运算到,所以保持不变)
自我编程
2020-05-05 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部
打印输出一个OK。因为前面循环for语句有分号结束。所以后面的printf语句不在循环内,不受循环语句影响。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晏桂枝黎婵
2020-05-11 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:845万
展开全部
有错误,指针变量s没有被初始化,它指向一个未知的存储单元,而后面出现了*s=*(p+3);
这时对指针变量s引用可能会破坏程序或数据。
应改为int
*s=null;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
解长征绍壬
2020-05-09 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:953万
展开全部
#include
<stdio.h>
void
main()
{
int
a[4]={10,20,30,40};
int
*p,*s;
p=a;
s=p+3;//改成这样
printf("%d",*s);
}
问题出在*s=*(p+3);s指针没有指向的内存区域,*s根本就没有指向内存区域,更别说给其赋值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成士恩线甲
2020-05-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:636万
展开全部
数学知识你学过不少了吧,数学里面的一些固定公式,类似某个定义,不同公式之间是互不影响的,然后你做题的时候直接套用某某公式就行,函数也是这样,只是函数是由你自己写的公式,然后自己写函数调用它!至于函数内部该怎么写,就看具体问题分析了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式