×

tracert命令的作用 tracert c

tracert命令有什么用?C语言扫雷游戏源代码

admin admin 发表于2022-05-17 05:40:21 浏览122 评论0

抢沙发发表评论

tracert命令有什么用


Tracert(跟踪路由)是路由跟踪实用程序,用于确定IP数据包访问目标所采取的路径。

Tracert 命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由.其命令格式如下。tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name。

命令详解:

该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP)回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必须经过路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。-tracert

Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。-c

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name。

使用 tracert 跟踪网络连接。

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。-tracert

工作原理:

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。-c

Tracert 先发送 TTL 为 1 的回应数据包,并随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。-tracert

Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。


C语言扫雷游戏源代码


“扫雷“小游戏C代码

#include《stdio.h》
#include《math.h》
#include《time.h》
#include《stdlib.h》
main( )
{char a,b,c,w;
int i,j;  /*循环变量*/
int x,y,z;  /*雷的位置*/
int t,s;  /*标记*/
int m,n,lei;  /*计数*/
int u,v;  /*输入*/
int hang,lie,ge,mo;  /*自定义变量*/
srand((int)time(NULL));  /*启动随机数发生器*/
leb1:  /*选择模式*/
printf(“\n   请选择模式:\n   1.标准  2.自定义\n“);
scanf(“%d“,&mo);
if(mo==2)  /*若选择自定义模式,要输入三个参数*/
{do
{t=0; printf(“请输入\n行数 列数 雷的个数\n“);
scanf(“%d%d%d“,&hang,&lie,&ge);
if(hang《2){printf(“行数太少\n“); t=1;}
if(hang》100){printf(“行数太多\n“);t=1;}
if(lie《2){printf(“列数太少\n“);t=1;}
if(lie》100){printf(“列数太多\n“);t=1;}
if(ge《1){printf(“至少要有一个雷\n“);t=1;}
if(ge》=(hang*lie)){printf(“雷太多了\n“);t=1;}
}while(t==1);
}
else{hang=10,lie=10,ge=10;}  /*否则就是选择了标准模式(默认参数)*/
for(i=1;i《=ge;i=i+1)  /*确定雷的位置*/
{do
{t=0; z[i]=rand( )%(hang*lie);
for(j=1;j《i;j=j+1){if(z[i]==z[j]) t=1;}
}while(t==1);
}
for(i=0;i《=hang+1;i=i+1)  /*初始化a,b,c*/
{for(j=0;j《=lie+1;j=j+1) {a[i][j]=’1’; b[i][j]=’1’; c[i][j]=’0’;} }
for(i=1;i《=hang;i=i+1)
{for(j=1;j《=lie;j=j+1) {a[i][j]=’+’;} }
for(i=1;i《=ge;i=i+1)  /*把雷放入c*/
{x=z[i]/lie+1; y=z[i]%lie+1; c[x][y]=’#’;}
for(i=1;i《=hang;i=i+1)  /*计算b中数字*/
{for(j=1;j《=lie;j=j+1)
{m=48;
if(c[i-1][j-1]==’#’)m=m+1; if(c[i][j-1]==’#’)m=m+1;
if(c[i-1][j]==’#’)m=m+1;  if(c[i+1][j+1]==’#’)m=m+1;
if(c[i][j+1]==’#’)m=m+1;  if(c[i+1][j]==’#’)m=m+1;
if(c[i+1][j-1]==’#’)m=m+1; if(c[i-1][j+1]==’#’)m=m+1;
b[i][j]=m;
}
}
for(i=1;i《=ge;i=i+1)  /*把雷放入b中*/
{x=z[i]/lie+1; y=z[i]%lie+1; b[x][y]=’#’;}

lei=ge;  /*以下是游戏设计*/
do
{leb2:  /*输出*/
system(“cls“);printf(“\n\n\n\n“);-c

printf(“    “);
for(i=1;i《=lie;i=i+1)
{w=(i-1)/10+48; printf(“%c“,w);
w=(i-1)%10+48; printf(“%c  “,w);
}
printf(“\n   |“);
for(i=1;i《=lie;i=i+1){printf(“---|“);}
printf(“\n“);
for(i=1;i《=hang;i=i+1)
{w=(i-1)/10+48; printf(“%c“,w);
w=(i-1)%10+48; printf(“%c |“,w);
for(j=1;j《=lie;j=j+1)
{if(a[i][j]==’0’)printf(“   |“);
else printf(“ %c |“,a[i][j]);
}
if(i==2)printf(“ 剩余雷个数“);
if(i==3)printf(“ %d“,lei);
printf(“\n   |“);
for(j=1;j《=lie;j=j+1){printf(“---|“);}
printf(“\n“);
}

scanf(“%d%c%d“,&u,&w,&v);  /*输入*/
u=u+1,v=v+1;
if(w!=’#’&&a[u][v]==’@’)
goto leb2;
if(w==’#’)
{if(a[u][v]==’+’){a[u][v]=’@’; lei=lei-1;}
else if(a[u][v]==’@’){a[u][v]=’?’; lei=lei+1;}
else if(a[u][v]==’?’){a[u][v]=’+’;}
goto leb2;
}
a[u][v]=b[u][v];

leb3:  /*打开0区*/
t=0;
if(a[u][v]==’0’)
{for(i=1;i《=hang;i=i+1)
{for(j=1;j《=lie;j=j+1)
{s=0;
if(a[i-1][j-1]==’0’)s=1; if(a[i-1][j+1]==’0’)s=1;
if(a[i-1][j]==’0’)s=1;  if(a[i+1][j-1]==’0’)s=1;
if(a[i+1][j+1]==’0’)s=1; if(a[i+1][j]==’0’)s=1;
if(a[i][j-1]==’0’)s=1;  if(a[i][j+1]==’0’)s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=1;i《=hang;i=i+1)
{for(j=lie;j》=1;j=j-1)
{s=0;
if(a[i-1][j-1]==’0’)s=1; if(a[i-1][j+1]==’0’)s=1;
if(a[i-1][j]==’0’)s=1;  if(a[i+1][j-1]==’0’)s=1;
if(a[i+1][j+1]==’0’)s=1; if(a[i+1][j]==’0’)s=1;
if(a[i][j-1]==’0’)s=1;   if(a[i][j+1]==’0’)s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=hang;i》=1;i=i-1)
{for(j=1;j《=lie;j=j+1)
{s=0;
if(a[i-1][j-1]==’0’)s=1; if(a[i-1][j+1]==’0’)s=1;
if(a[i-1][j]==’0’)s=1;  if(a[i+1][j-1]==’0’)s=1;
if(a[i+1][j+1]==’0’)s=1; if(a[i+1][j]==’0’)s=1;
if(a[i][j-1]==’0’)s=1;  if(a[i][j+1]==’0’)s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=hang;i》=1;i=i-1)
{for(j=lie;j》=1;j=j-1)
{s=0;
if(a[i-1][j-1]==’0’)s=1; if(a[i-1][j+1]==’0’)s=1;
if(a[i-1][j]==’0’)s=1;  if(a[i+1][j-1]==’0’)s=1;
if(a[i+1][j+1]==’0’)s=1;if(a[i+1][j]==’0’)s=1;
if(a[i][j-1]==’0’)s=1;  if(a[i][j+1]==’0’)s=1;
if(s==1)a[i][j]=b[i][j];
}
}

for(i=1;i《=hang;i=i+1)  /*检测0区*/
{for(j=1;j《=lie;j=j+1)
{if(a[i][j]==’0’)
{if(a[i-1][j-1]==’+’||a[i-1][j-1]==’@’||a[i-1][j-1]==’?’)t=1;
if(a[i-1][j+1]==’+’||a[i-1][j+1]==’@’||a[i-1][j+1]==’?’)t=1;
if(a[i+1][j-1]==’+’||a[i+1][j-1]==’@’||a[i+1][j-1]==’?’)t=1;
if(a[i+1][j+1]==’+’||a[i+1][j+1]==’@’||a[i+1][j+1]==’?’)t=1;
if(a[i+1][j]==’+’||a[i+1][j]==’@’||a[i+1][j]==’?’)t=1;
if(a[i][j+1]==’+’||a[i][j+1]==’@’||a[i][j+1]==’?’)t=1;
if(a[i][j-1]==’+’||a[i][j-1]==’@’||a[i][j-1]==’?’)t=1;
if(a[i-1][j]==’+’||a[i-1][j]==’@’||a[i-1][j]==’?’)t=1;
}
}
}
if(t==1)goto leb3;
}

n=0;  /*检查结束*/
for(i=1;i《=hang;i=i+1)
{for(j=1;j《=lie;j=j+1)
{if(a[i][j]!=’+’&&a[i][j]!=’@’&&a[i][j]!=’?’)n=n+1;}
}
}
while(a[u][v]!=’#’&&n!=(hang*lie-ge));

for(i=1;i《=ge;i=i+1)  /*游戏结束*/
{x=z[i]/lie+1; y=z[i]%lie+1; a[x][y]=’#’; }
printf(“    “);
for(i=1;i《=lie;i=i+1)
{w=(i-1)/10+48; printf(“%c“,w);
w=(i-1)%10+48; printf(“%c  “,w);
}
printf(“\n   |“);
for(i=1;i《=lie;i=i+1){printf(“---|“);}
printf(“\n“);
for(i=1;i《=hang;i=i+1)
{w=(i-1)/10+48; printf(“%c“,w);
w=(i-1)%10+48; printf(“%c |“,w);
for(j=1;j《=lie;j=j+1)
{if(a[i][j]==’0’)printf(“ |“);
else  printf(“ %c |“,a[i][j]);
}
if(i==2)printf(“ 剩余雷个数“);
if(i==3)printf(“ %d“,lei); printf(“\n   |“);
for(j=1;j《=lie;j=j+1) {printf(“---|“);}
printf(“\n“);
}
if(n==(hang*lie-ge)) printf(“你成功了!\n“);
else printf(“    游戏结束!\n“);
printf(“    重玩请输入1\n“);
t=0;
scanf(“%d“,&t);
if(t==1)goto leb1;
}-tracert

/*注:在DEV c++上运行通过。行号和列号都从0开始,比如要确定第0行第9列不是“雷”,就在0和9中间加入一个字母,可以输入【0a9】三个字符再按回车键。3行7列不是雷,则输入【3a7】回车;第8行第5列是雷,就输入【8#5】回车,9行0列是雷则输入【9#0】并回车*/-c


追逐的英文


chase
英 [tʃeɪs] 美 [tʃes]
vt.
追求;追捕;追寻;镂刻
n.
追捕;打猎;猎物(指鸟兽等);槽
vi.
追逐,追赶;追寻;追求(常与after连用);[口语] 奔跑
第三人称单数: chases 复数: chases 现在分词: chasing 过去式: chased 过去分词: chased

双语例句
She chased the thief for 100 yards
她追了窃贼100码远。
-tracert