二进制-C语言for循环里没有循环体,空白语句有什么作用

问题描述

C语言for循环里没有循环体,空白语句有什么作用

程序是输入一个二进制数,然后求这个二进制数的补码。

第一个for中并没有循环体,注释掉以后无法运行。
另外这个程序是怎么做到当末位为1时,末位加1等于0,并且向前进一位的?而不是末位加1等于2?

解决方案

C语言 for循环
8.从零开始学习C语言--while循环语句
C语言基础练习:在Xcode中练习的for循环语句

解决方案二:

第一个for循环是找到这个二进制数第一个1的位置,如输入0001010,求得i=3。

解决方案三:

第一个空循环,可以让找到第一个a[i]等于1的位置,然后方便后面的循环使用这个i来做进一步处理

解决方案四:

第一个空循环,看似没有用,其实是有用的,它可以让找到第一个a[i]等于1的位置i,后面的循环用这个i进行进一步处理

解决方案五:

首先执行内部循环 里面的那个歌小的循环 然后在执行外面的大循环 其实是有用的 打个比方: 还比你的内部 1 横向循环 4次 外面的
大的 在竖向循环 4次 就变成了 4行 4列的 4 数字 这样说 你懂了?

解决方案六:

首先执行内部循环 里面的那个歌小的循环 然后在执行外面的大循环 其实是有用的 打个比方: 还比你的内部 1 横向循环 4次 外面的
大的 在竖向循环 4次 就变成了 4行 4列的 4 数字 这样说 你懂了?

解决方案七:

第一个空循环是为了找到左起第一个1的位置

解决方案八:

可以执行圆括号里面的语句嘛,找出适合的i。

解决方案九:

可以执行圆括号里面的语句嘛,找出适合的i。

解决方案十:

讲个例子吧…如果输入“001010” 第一个循环会执行几次呢?i从几开始呢?一开始i是等于6,也就是说,会从你输入的二进制字符串最后一个字符开始查找,如果是上面的字符,循环只会进行一次,找的倒数第二个1就会停止…

时间: 2024-11-05 21:44:33

二进制-C语言for循环里没有循环体,空白语句有什么作用的相关文章

c语言循环里的递归问题

问题描述 c语言循环里的递归问题 求大神们,帮我分析一下这个程序怎么运行的 #include void test(int n) { int x=0,i=0; if(n==1){ printf("n:%d x:%d i:%d ",n,x,i); return ; }else{ printf("n:%d x:%d i:%d ",n,x,i); for(i=0;i<3;i++){ test(n-1); x=1; } } } int main() { test(3);

c语言-c循环问题,求大神教教

问题描述 c循环问题,求大神教教 while(n=1/3)会陷入无限循环吗?for(:2:)呢?什么原理,求大神教 解决方案 说到这里,你应该已经发现两个循环语句都是同一个问题,那就是是否会无限执行下去.没有循环体,不执行,是我的判断,建议你亲自执行一下代码.我在编写其他代码时遇到过,循环判断后,默认把紧接循环判断后的一行语句作为循环体无限执行的情况,你可以测试一下一种情况是程序只有循环语句前面,另一种情况是程序测试代码在循环后面 解决方案二: while里面是判断的所以应该用==而不是赋值语句

详解C语言 三大循环 四大跳转 和判断语句_C 语言

三大循环for while 和 do{ }while; 四大跳转 : 无条件跳转语句 go to; 跳出循环语句 break; 继续跳出循环语句 continue; 返回值语句 return 判断语句 if,if else,if else if else if...else ifelse 组合 if(0 == x) if(0 == y) error(): else{ //program code } else到底与那个if配对 C语言有这样的规定: else 始终与同一括号内最近的未匹配的if语

score-ASP页面修改循环里 怎么相加

问题描述 ASP页面修改循环里 怎么相加 <% sql = "SELECT * FROM Accounts.dbo.view_2 where IsAndroid = 0" set rs = conn.execute(sql) if not rs.eof then do while not rs.eof userid=rs("USERID") set rxsum=conn.execute("SELECT SUM(Score) FROM Accounts

方法-C语言头文件里放声明,其实现放哪?

问题描述 C语言头文件里放声明,其实现放哪? 我写了一个头文件a.h,实现在a.c中,主文件中#include "a.h",报错...我想知道头文件的声明和定义的规范使用方法..谢谢.. 解决方案 首先搞清楚,include和头文件的关系. include的作用是将这个文件的内容插入到include所在的位置,从而构成一个完整的源代码文件被编译. 那么头文件是什么,实际上头文件里可以放任何东西,源代码文件也可以放任何东西,include也可以随意包含. 只是看这三者放在一起,经过替换,

怎么删除循环里面的marker(asp.net)

问题描述 怎么删除循环里面的marker(asp.net) function play() { window.run = function () { var j = 0; var ico = icon_str[j]; var myIcon = new BMap.Icon(""../"" + ico + """" new BMap.Size(25 22) { imageOffset: new BMap.Size(0 0) //

c语言 循环-初学渣.关于C语言for循环的省略问题

问题描述 初学渣.关于C语言for循环的省略问题 int i=-2;for(;i++;);printf(""%d ""i)(节选,如上所示)最后输出的结果是多少,为什么?新人,求不喷... 解决方案 C语言初学关于for循环的自己的见解C语言for循环c语言循环-for 解决方案二: 本人同上,不知道你的循环条件的说 解决方案三: 你的for循环有问题for(;i++;)判断永远为真,会无限循环的因为i++为真,因改写为for(;i<....;i++) 解决方

函数指针 c语言 指针-C语言 在函数里给结构体赋值

问题描述 C语言 在函数里给结构体赋值 求懂的人解释一下,谢谢 代码意思是想在传结构体指针给函数,在函数里面改变结构体各项的值,运行结果为:a和b的值能改变,但到打印指针c的时候,程序报错 #include struct stu { int a; int b; char *c; }; //给结构体s1初始化 void Fun(void *ptr) { char *s = (char *)malloc(10); s = "Hello World"; int *p = (int *)ptr

class文件-java for循环里的变量反编译出问题

问题描述 java for循环里的变量反编译出问题 for(int i=0;i<10;i++){ int k = 10; } 编译出的class文件,用jd-gui反编译出来的java文件,结果变成了 for(int i=0;i<10;i++){ i = 10; } 然后如果是 for(int i=0;i<10;i++){ int k = 10; System.out.println(k); } 则反编译出来的就是 for(int i=0;i<10;i++){ int k = 10