输出的时18
++b之后b=3,b*=(a+b)
b=b*(a+b)=3*(3+3)=18
#include
void main()
{
float a,b,c,d;
for(d=1;;d++)//*这里的d就不做要求,它属于整个自然数集合里面,另外a,b,c,d都是分母,所以定义的初始值都为1*//
for(c=1;c<=d;c++)
for(b=1;b<=c;b++)
for(a=1;a<=b;a++)
if(1/a+1/b+1/c+1/d==1)
printf("a=%g,b=%g,c=%g,d=%g\n",a,b,c,d);
getchar();
getchar();
注意:
1、以上每个函数都以“f”开头,其代表文件(file)之意,这正与正常数据的输入输出(scanf和printf)函数区分开来;str代表字符串(string)之意,ch则是代表字符(characters);fp代表文件指针(file pointer),而pf代表指向文件的文件指针,即“文件指针指向”(Pointing to file pointer),通常也叫做文件指针;
2、文件字符的输入输出函数也可写为:getc和putc,它们与fgetc和fputc函数是等价的;
以上内容参考:百度百科-输出
我测试出来的结果不是2,5,1,2,2,3, -2
你把代码这么写应该能看的清晰一点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
main()
{ int a = 2,b =- 1,c = 2;
// 判断a是否小于b,是则执行里面的内容
if(a {
//判断b是否小于0,是则执行里面的内容
if(b<0)
{
c=0;
}
// else总是与离他最近的if匹配
// 如果b是不小于0,是则执行里面的内容
else
{
c++;
}
}
// 通过上面注释可以知道,a>b,所以第一个if里面的内容都不执行,及c=2
printf("%d\n",c);
// 输出结果:2
}
你把代码这么写应该能看的清晰一点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
main()
{
int
a
=
2,b
=-
1,c
=
2;
//
判断a是否小于b,是则执行里面的内容
if(a
b,所以第一个if里面的内容都不执行,及c=2
printf("%d\n",c);
//
输出结果:2
}
我输出的时18,而且我觉得也应该是18
++b之后b=3,b*=(a+b) b=b*(a+b)=3*(3+3)=18