c语言中的#ifndef,def,endif等宏是什么意思

Python09

c语言中的#ifndef,def,endif等宏是什么意思,第1张

1、这是条件编译的命令#ifndef def语句1# else语句2# endif表示如果def在前面进行了宏定义那么就编译语句1(语句2不编译),否则编译语句2(语句1不编译)2、宏定义的格式如下:#define 标识符 字符串其中,#表示这是一条预处理命令;#define为宏定义命令;“标识符”为宏定义的宏名;“字符串”可以上常数、表达式、格式串等。举例如下:#define PI 3.14 // 对3.14进行宏定义,宏名为PIvoid main(){printf("%f", PI) // 输出3.14}

你好,代码修改如下,望采纳,你比较一下不同之处。

#include <stdio.h>

int main()

{

int i=0,n=0

char puzzle[10]

printf("please input n:")

scanf("%d",&n)//输入移位个数

printf("please input puzzle:")

scanf("%s",puzzle)//这里在循环外输入,采用%s格式输入

for (i=0i<10i++)

{//去掉while循环,会让程序死循环

if (puzzle[i]>='A'+n &&puzzle[i]<='Z' || puzzle[i]>='a'+n &&puzzle[i]<='z')//A+n到Z,或a+n到z

puzzle[i]=puzzle[i]-n//转换为前n个字母

else if (puzzle[i]>='A'&&puzzle[i]<'A'+n || puzzle[i]>='a' &&puzzle[i]<'a'+n)/*A到A+n,或a到a+n*/

puzzle[i]=puzzle[i]+26-n//转换为其后第26-n个字母/

}

printf("%s\n",puzzle)

return 0

}

将宏定义带入。

MCRB(j,MCRA(i))

=2*MCRA(j)+MCRA(i)

=2*2*j +2*i

=2*2*3+2*2

=16

输出16