永发信息网

赋值语句,C语言中,while()语句括号内可以是赋值语句吗?

答案:1  悬赏:30  手机版
解决时间 2021-03-22 13:13
赋值语句,C语言中,while()语句括号内可以是赋值语句吗?
最佳答案
while()语句括号中是一个逻辑表达式,用以判断while循环是否需要继续执行。可以是赋值语句。
while循环的一般格式为:
while(expr)
{
;//body
}
其中用来判断循环条件的expr可以是任意表达式。当其是赋值语句的时候,含义为,先执行赋值语句,然后对左值进行判断。如果左值为0则expr为假,while退出;否则expr为真,while继续循环。
不过直接用赋值语句做expr时,编译器可能为认为赋值操作符=是等于判断符==的误写,这时编译器可能会报一个警告(warning),编译器是否报警,及报警告还是错误(error)取决于编译器设置。为避免这种情况,可以用while((var = expr))的形式,告知编译器就是要先赋值再判断,编译器就不会理会了。
下面是举一个例子用来辅助说明。
函数功能,将参数字符串中的所有值按照ascii码进行累加,获取校验和,溢出后只取低字节值。
char sum(char* p){ char c; char sum = 0; while((c = *p ++))//读取字符串中的字符,直到字符串结尾。 这里用的就是一个赋值的方式。先把*p赋值给c,然后执行指针移位,再判断c的值,如果c值为0,代表字符串结束,退出循环。 { sum+=c;//累加值,不考虑溢出。 } return c;//返回校验和}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男生身高175左右算矮吗
小车发动机上面四个盖渗水到发动机里面去了,
–1555是什么意思
单选题Thereare______studentsintheschool
卓越推拉门怎么去啊,有知道地址的么
怎么做笋干才能保持颜色不变
夫妻相互理解的诗词,夫妻双方总是不能相互理
冷记让鸭脑壳飞主题江湖景德镇直营店在哪里啊
寻仙乘风一百级5阶法宝那个好
一个人的呼吸系统每天吸入和呼出大约20000升
没root用黑域每次重启都要从电脑弄一下吗
喜欢一女的,刚才给我说了句握草,是暗示我吗
金立V8手机不认SIM卡
能不能将a.e.s.t.h.a.e.d.m.r这些字母组成单
公办编制的老师,怎样从一间学校调去另外一间
推荐资讯
王者荣耀安卓和苹果能在同一个区吗
实验室有两瓶失去标签的试剂,其中一瓶是饱和
怎么样才能把东西卖出去
淮安中学和淮阴中学是一个学校吗
闪电狗梗概,中文版,200字以内
河北瀛盛房地产开发有限公司这个地址在什么地
美尔口腔 成仁街门诊部怎么样
欧意橱柜·电器·卫浴体验馆在什么地方啊,我
我养的草龟最近不下水一直待在上面,也不动吃
长春到北京z64卧铺今天有票吗
打架提到肚子会踢坏输软管吗?输软管坏掉有哪
小麦收割机跑粮怎么调
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?