㈠ 在c语言中仅由一个分号构成的语句为空语句他什么也不做
c语言中的空语句经编译后就成了空指令,而空指令不会执行任何运算,但同样会消耗CPU的执行时间。
㈡ c语言里面有一句“p++;;”这里面为什么要用两个分号求解
C语言中,碰到分号代表一个语句结束,这里,两个分号连在一起,其实就是后面多了个空语句
其实没有任何意义,在编码过程当中,可能是不小心多敲了一个分号,但他并不影响程序的编译,因为编译器会自动优化了
㈢ 在C语言中,for语句的后面加分号和不加分号有何不同,该分号有什么作用
加分号,表示这个循环是空语句,除了执行for()括号里的,什么都不干,然后就执行下一行。
不加分号,那for循环后面的printf语句就是for循环的一部分,跟着for一起执行,但前提是for循环里的条件要满足。
分号代表语句结束。
例如:
for(i=0;i<100;i++);
就等于:
for(i=0;i<100;i++)
{
;
}
(3)c语言啥也不干扩展阅读:
注意事项
格式:
for(表达式1;表达式2;表达式3){
//若干语句(循环体)
}
执行规则:
计算表达式1,完成必要的初始化工作;
判断表达式2的值,若表达式2的值为true,则进行3,否则进行4;
执行循环体,然后计算表达式3,以便改变循环条件,进行2;
结束for语句的执行。
㈣ 如果C程序要求执行一个空语句(即什么也不做),这个语句应该怎样编写
你可以用判断语句:if(true){} 这样类似的语句都会执行括号里面语句,那怕里面没有语句
㈤ C语言程序什么都不输出
看看你的代码
if(x>y)
printf("比较大的数是:%d",&x);
else
printf("比较大的数是:%d",&y);
printf()语句的参数,这儿,不能写&x,应该写成x。
所以正确的语句是:
if(x>y)
printf("比较大的数是:%d",x);
else
printf("比较大的数是:%d",y);
㈥ c语言 for循环什么都不做,循环一次的时间是多久
看你这个delay函数输入的参数x有多大了,不过你这样输入的啊,最大也就是几百,那循环的速度很快的,几百分之秒,你根本感觉不出来delay。如果你想让程序延迟一下,看程序所出的结果,你可以用c库中的sleep函数sleep(3);睡上三秒就可以了。如果你非要用for循环,建议你用for循环嵌套for循环
Delay(int x,int y)
{
int i ,j;
for(i=0;i<x;i++)
for(j=0;j<y;j++);
}
这样可以循环x乘y次,可以达到延长的Delay的效果; 、
刚刚看到楼主的补充,回答的偏了。
如果非要计算你这个循环的运行时间,那也是可以计算的,只不过对于不同的计算机的运行速度不一样,要看你CPU的主频。如果你是用家用计算机的话,我估计应该是2.6GHZ到2.8GHZ,用你的主频数,用你输入的参数x,得到的就是理想答案。你就用6M除以x就得到 了。
㈦ c语言中return 0
return表示要退出当前函数返回调用者了,
return
不带参数则表示没有值,直接返回,return
带值则会先把值存在通用寄存器中,然后返回调用者。
如果是main主函数中的return
0
则表示向系统(或调用者)返回一个值并结束当前程序
你不一定非要返回一个0值,也可以返回非零值,如程序出错了,你自己定义出错码,返回这个值,外面的调用者是可以得到个值的,一般地,一切正常时都返回0值,而出错时则返回一个非零的错误码,错误码的具体含意由你自己定或跟别人约定,以便在别人调了你的程序后能知道是否正常结束,不正常时出了什么问题等等
当return
0被执行后,其后的其它语句都执行不到了,而之前代码的会在此之前已经执行,不会因为你要return
0了就干脆什么也不干,执行或不执行由程序流程而定的。
㈧ C语言求素数和
main()
{
int i,m,j; //增加一个变量,见后面说明
for(i=2;i<=100;i++)
{m=sqrt(i);
//for(i=2;i<=m;i++) 这里i值被重新赋值,你原来的i值找不到了!如果是素数,怎么输出呢?
for(j=2;j<=m;j++) //换一个变量,不要影响要检查的数据i
if(j%m!=0) //改成j
; //这样写,会让你更清楚,这句如果j不能整除m,就啥也不干,象你所说回到下一个循环检查。
else
break; //加上这两句,如果能整除则说明:i不是素数!!就不要再去检查了。
if ( j > m ) //加上这句,如果检查所有的j全部不能整除m,循环结束后,j一定大于m,这时的i才是素数
printf("%d",i);
}
getch();
}
㈨ c语言什么都不做怎么写
if(a == 1)continue;