C语言的一个程序段

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:57:45
下列程序编译后生成 t.exe,运行 t input output zoo oil的输出结果是______zoo_____

void main(int argc,char *argv[])
{
int k;
char *p=argv[1]
for(k=2;k<argc;k++)
if(strcmp(argv[k],p)>0) p=argv[k];
printf("%sn",p);

}
这个程序看不懂:帮我解释下,为什么结果会是这个?谢谢!!

strcmp(a,b)这个函数,作用是比较两个字符串的大小。返回结果0表明
a串等于b串,返回>0表示a串大于b串,返回<0表示a串小于b串。
另外,argv存放的是程序运行时候的参数。对于你的程序,argv[0]是程序名(t),argv[1]=input,argv[2]=output,argv[3]=zoo,argv[4]=oil。
argc存放程序参数个数。
不知道这样说对你理解有没有帮助。

两个字符串比较,就先比第一个,若第一个最大,就结束比较。在你输入的五个参数中,当然zoo最大。