#include <stdio.h> main() { int x=3,y; do { y=x--; if(!y) {printf("*");continue;} printf("#"); }whi

作者&投稿:蔡育 (若有异议请与网页底部的电邮联系)
#include <stdio.h> main() {int x;x=11/3;int y=5;printf("%%d,%%%d\n",x,y);}求输出为什么是%d,%3 ?~

%%输出%,所以%%d输出%d
%%%d,前两个百分号输出%后边的%d输出x的值3,整个输出是%3
x的值:x是整型数据11/3仅输出结果的整数部分

#include
void main()
{
int x=3; //定义并初始化X
do
{
printf("%d
",x-=2); //执行X=X-2计算,并以整数形式输出
}while(!(--x));//判断退出循环的条件,当X自减1后不为0时退出循环体。
}

第一次X减2
输出结果 1
第二次X(第一次循环后X初值为0)减2后
输出结果 -2

第二次执行后,X值为-3满足退出条件,所以退出循环体。
有问题请追问

死循环啊
原因是应为1<=x<=2这句来着,当do了一步后,x=2,然后x一直减一,无论x为多少,因为1<=x这个表达式的结果只有0和1两种情况,它始终小于2,所以会一直循环
如果要是改成while( x<=2 && x>=1 )这样的话就不会了

#include <stdio.h>
main()
{
int x=3,y;
do
{
y=x--;
if (!y)
{
printf("*");
continue;
}
printf("#");
}
while (1<=x<=2);//关键在于while的参数, 1<=x<=2,x为任何值都符合要求
//1<=x&&x<=2 ,这个才表示x在1和2范围内
//这跟小学所学的数学是有点差别的
}

刚才试了下, 没想到真是死循环.

再试了1<=x<=2这个表达试, 这表达试是从左到右, 所以最终结果是最右边的值. 因为x<=2 为true 所以就是死循环!

自己判断,第一步是什么结果,第二步是什么结果,一步步写下里不就是清楚了, 不过这个题目还真是……没话说,全都用上了。这不愧中国应试教育的tx


铁东区17545893002: c语言中#include "stdio.h" -
桑群注射: stdio,不过你不写这句话很多方法你都用不了. 最常用的,比如printf()1楼说的对...函数库. 这个stdio中封装了很多有用的函数.h>就用不了;这个方法你不写#include &lt

铁东区17545893002: c语言中#include〈stdio.h〉是能够输入输出的意思?在程序中才能输入或者输出一个数? -
桑群注射: #include 是编译预处理命令 stdio 是 standard input & output"(标准输入输出).h 是头文件 输入输出函数被定义在这个头文件里面了,只有包含这个头文件才能进行输入输出.

铁东区17545893002: #include<stdlib.h>什么意思C语言编程 -
桑群注射: #include <stdlib.h> stdlib.h 这个文件里面包含了一些函数或者变量的声明,当编译器编译c源文件的时候,发现你使用了某个函数就会去头文件里面找有没有这个函数的声明,如果有就编译通过,然后链接的时候就会找你的函数实现.

铁东区17545893002: #include <stdio.h> -
桑群注射: 楼主不用深究了,这个和编译器有关的.标准规定:不要在同一条语句中多次修改同一变量的值 因为求值顺序标准未定义.所以具体的输出依赖于编译器.

铁东区17545893002: #include int main(void){ int a,b,i,j,k,l,z; char text[3][80]; i = 0; j = 0; k = 0; l = 0; z = 0; printf("请输入相应的字符:\n"); for(a = 0; a < 3; a++) { printf("\n... -
桑群注射:[答案] 这好像是c语言吧!不是高中数学的范畴.

铁东区17545893002: C语言里的 #include <stdio.h>是用来干什么的?什么情况使用? -
桑群注射: #include "stdio.h"#include "math.h" main() { double x,s; printf("input number:\n"); scanf("%lf",&x); s=sin(x); printf("sine of %lf is %lf\n",x,s); } 预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号""或引...

铁东区17545893002: C语言#include"文件名"和#include<文件名>有什么区别
桑群注射: 大哥没有去面试过吧?... 这题面试经常问的哎,嘿嘿... #include"文件名"——通常指首先在源码当前目录下面寻找该头文件,一般自己定义的头文件就用这个; #include&lt;文件名&gt;——通常指首先在编译器默认的include目录下寻找该头文件,一般使用编译器提供的函数库就用这个进行包含,如printf()需要用到的&lt;stdio.h&gt;;

铁东区17545893002: #include<stdio.h> -
桑群注射: #include<stdio.h>main(){ int m=5; if(++m>5) if(m++>5) printf("%d\n",m+5); else printf("%d\n",m--); else printf("%d\n",--m);} 这个程序过程很简单,先定义了一个整型m=5 然后先将m+1然后比较是否大于5,如果大于再判断m++是否大于5 因为m已加1变为6了,所以一定大于5.故再加1后输出结果为7+5=12

铁东区17545893002: C语言斐波那契数列求和问题#include int f(int n); void main(void) { int n,sum=0; scanf("%d",&n); for(int i=0;i
桑群注射:[答案] 有两个问题,一个是f函数逻辑上有问题,第二个主函数调用有问题,sum=sum+f(i)而不是n,修改如下: #include int f(int n); void main(void) { int n,sum=0; scanf("%d",&n); for(int i=1;i{%解析看不懂?免费查看同类题视频解析查看解答

铁东区17545893002: 关于#include<stdio.h>程序,表示什么意思?
桑群注射: printf("%d,%d,%d,%d\n",i=j=k,i=j==k,i==(j=k),i==(j==k)); 表示分别输出i=j=k,i=j==k,i==(j=k),i==(j==k))这4个表达式的值. i=j=k表示把k的值赋给i和j,并输出k的值. i=j==k表示求j的值是否等于k,如果等于,把0赋给i,如果不等于,把1赋给i. ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网