(1)c语言 s+=i++是什么意思?

(2)void、math()、voidmath()分别是什么意思,后面2者有区别吗?(3)#include<stdio.h>voidmain(){inti=1,s=3;d... (2)void、math()、void math()分别是什么意思,后面2者有区别吗?
(3)
#include <stdio.h>
void main()
{ int i=1,s=3;
do
{ s+=i++;
if(s%7==0)
continue;
else
i++;
}
while (s<15);
printf("%d\n",i);
}
这个代码怎么运算的?
展开
 我来答
四舍五不入6
高粉答主

2020-03-18 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2万
展开全部

1、s+=i++是s=s+i;i=i+1;

2、void是空的意思,math()是个名为math的函数,void math()是这个函数的返回值为空

3、do while循环s<15时退出循环 %为取余数 continue是继续循环 结果是8

扩展资料:

do...while 和 while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了。

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

参考资料来源:百度百科-void (计算机语言关键字)

参考资料来源:百度百科-do while

小星星教育知识分享
高粉答主

2019-11-26 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67132

向TA提问 私信TA
展开全部

s+=i++的意思是:

s=s+(i++)将s的值加上i的值赋给s,i的值再自增1;

S=S+I;

就是s=s+i;

+=是一个复合运算符,再比如x%=(y+1)相当于x=x%(y+1)

s=s+i;

就是s=s+i;

s等于s加i

即是s=s+i;

扩展资料

一、C语言复合赋值运算符

+=加赋值

-=减赋值

*=乘赋值

/=除赋值

%=求余赋值

&=按位与赋值

|=按位或赋值

^=按位异或赋值

<<=左移位赋值

>>=右移位赋值

二、字符串

+ 运算符用于把文本值或字符串变量加起来(连接起来)。

如需把两个或多个字符串变量连接起来,请使用 + 运算符。

txt1 = "What a very"; txt2 = "nice day"; txt3 = txt1 + txt2;

txt1 = "What a very"; txt2 = "nice day"; txt3 = txt1 + txt2;

在以上语句执行后,变量 txt3 包含的值是 "What a verynice day"。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曲弦泽
2013-02-08 · 超过20用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:14.4万
展开全部
第一题:s+=i++意思是s=s+(i++) 中文解释是把s的值加上i的值赋给s,i的值再自增1

第二题:这题呢·····小弟我也就略知一二,大虾可指教,我的理解是:math()是一个子函数名。而void math()是指空类型的函数。void实际上也就是空类型,可没有返回值。

第三题:下面注释看得懂吧?不懂可以追问!!
#include <stdio.h>
void main()
{ int i=1,s=3;//i的初始值为1,s的初始值为3
do
{ s+=i++;//进行s=s+(i++)运算
if(s%7==0)//判断s对7求余是否为0
continue;//若s对7求余为0,则跳出do ```while循环
else
i++;//若s对7求余不为0,则i自增1
}
while (s<15);
printf("%d\n",i);//输出i的值
}
追问
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?
追答

不对啊!你这代码可以运行啊!!答案是8

 

可能你那编译器出问题了吧?或者你检查一下代码有没错误?

空类型嘛·····我举个例子好了。

例如你常常需要在main函数中作输入输出,而在子函数中作算法处理:

#include<stdio.h>

int main()

{

int i,j;

int math(int);

scanf("%d",&i);

j=math(i);

printf("%d\n",j);

return 0;

}

int math(int k)

{

k++;

return k;

}

在这个程序中,因为main函数中经子函数math()处理过的i需要赋值给j,即j=math(i);所以子函数math()需要一个int类型的返回值(因为j是int类型,子函数返回值必须是int类型)。

若我把上面的代码改成这样,在子函数math中就输出结果,而不需要赋值到主函数中再输出:

#include<stdio.h>

int main()

{

int i;

void math(int);

scanf("%d",&i);

math(i);

return 0;

}

void math(int k)

{

k++;

printf("%d\n",k);

}

与上一个程序相比,这个程序的子函数math就不需要return返回子函数运行结果给主函数main,因为void类型是返回值为空。

好好研究下这两个代码吧!运行结果都一样的!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
湮魂
推荐于2017-11-25 · TA获得超过154个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:75.1万
展开全部
s+=i++是s=s+i;i=i+1;
void是空的意思,math()是个名为math的函数,void math()是这个函数的返回值为空
do while循环s<15时退出循环 %为取余数 continue是继续循环 结果是8
追问
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?
追答
第三题代码是没问题的,你的编译器可能不太好
每个函数执行之后都必须返回一个东西,一个你指定让它返回的东西,就是return语句;如果没有return语句,它默认返回一个空值----NULL, 而你想让它返回什么类型的值 就必须在定义函数的时候告诉编译器
比如int main() int说明的是main()函数执行结束后要返回一个整形的东西,这时你函数代码里面必须要有个return语句来指定返回一个整形值,void就是返回NULL,一个无意义的东西
返回值的用法就是,比如你定义了一个int swap()函数,然后return 0;这个函数执行结束后
int a=swap(); a就等于0 了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豆奶学习
2013-02-08
知道答主
回答量:9
采纳率:0%
帮助的人:1.2万
展开全部
1. s+=i++等同于s += i; i=i+1
2. void main() 申明一个函数,函数返回类型void,即不会返回什么了
3. s=3~14时运行循环
s= 4 i=3
s=11 i=6
s=17 i=8
所以最后输出
8
#include <stdio.h>
void main()
{
int i=1,s=3;
do{
s+=i++;
if(s%7==0)
continue;
else
i++;
printf("s=%d\ti=%d\n", s, i);
}while (s<15);
printf("%d\n",i);
}
追问
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式