C语言中,答案加号后面为什么是02啊,0有什么意义吗,%-6.2e中的-又有什么意义呢?

Python012

C语言中,答案加号后面为什么是02啊,0有什么意义吗,%-6.2e中的-又有什么意义呢?,第1张

因为前面的输出格式里面已经定义了,%-6.2那个“-”指输出数据时,如果数据长度不超过6位时,向左靠,右端补空格。

02还是002,这个是看系统,其实大小是一样的,一般C编译比如VC++里面,如果没有指定数据所占宽度,那么数字小数部分占6位,指数部分占5位(如e+002,这些字符1个占1位,共5位),而题目中已经定义了宽度,小数部分占2位,而那个6应该至少为8,可能不同的系统有所差异。

所以,这个题目主要就是考的e格式符的输出特点:小数点前必须只有一位数,然后小数是2位,格式为X.xxe+xx的这种形式。至于楼主纠结的,是02还是2还是002,这个区别不是太大。

这个程序没有错误

#define 预处理命令是用来 定义宏 的。

在程序编译前,首先要进行预处理,其中包括宏展开,也就是将程序中的宏替代为定义的部分。

例如:在“#define LAG >”命令中, “LAG” 即为宏名,“>” 为被定义的部分

程序中只要遇到 “LAG” 则使用 “>” 将之替代,所以,经过预处理之后,

”if( i LAG j )“则被(替代)展开为:“if( i >j )”。

所以,你上面的程序经过展开之后主文件即为:

#include "test.h"

#include <stdio.h>

void main()

{

int i=10

int j=20

if( i >j )

printf( "\40: %d larger than %d \n", i, j )

else if( i == j )

printf( "\40: %d equal to %d \n",i , j )

else if( i <j )

printf( "\40: %d smaller than %d \n", i, j )

else

printf( "\40: No such value.\n" )

getch()

}

相信宏展开后的应该是很容易理解的了吧,就是一个简单的比较大小。