c语言注释有关题目

Python014

c语言注释有关题目,第1张

你给的程序

a=10

/*给a赋值

b=20

给b赋值*/

似乎将b=20注释掉了

1.如果没有注释,结果输出是a+b=20,因为你在个数输出中对应的变量是a=b,就是将b的值给a,然后输出a

2.如果注释了,则b始终等于0,则结果输出是,a也等于0,结果输出a+b=0

如果你改成加号,你说结果是10就可以理解了,因为你将b=20注释掉了,所以a=10,b=0,a+b则等于10

恐怕你也没有想将b=20注释掉吧!!

#include <string.h>

#include <math.h>

long l,k,mod  //全局long int 变量 l k mod

int a[10002]  //全局包含10002个int类型的数组

int pd[10002] //全局包含10002个int类型的数组

void work()    //子函数声明 输出当l的i次方对10的k次方取余为l的时候 i的次数

{

long s=l%mod,v=l%mod //% 取余 1对初了0和本身的数取余数结果都为1 

int i     

pd[s]=1             

a[s]=1

for(i=2i<=100000i++)

{

s=(s*v)%mod

if(pd[s])  //如果pd[s]为1 进行循环体 为0 则跳过循环体

{

printf("%d %d\n",i,a[s])

return 

}

a[s]=i 

pd[s]=1

}

}

int main()

{

scanf("%ld%ld",&l,&k)//  键入 l k的值

mod=pow(10,k)        //pow为库函数 实现的是10的k次方

work()               //调用work函数

return 0

}