我输入1行应该是不会比2大的啊,怎么会执行到||的右边?何解,麻烦仁兄指教!

/* ---P314--- 把命令行参数转换为数字...*/#include<stdio.h>
#include<conio.h>
#include<stdlib.h>int main(int argc,char *argv[])
{
int i,times; if(argc<2||(times=atoi(argv[1]))<1)
printf("usage: %s positive-number.\n",argv[0]);
else
for(i=0;i<times;i++)
puts("hello,good looking!"); getch();
return 0;
} 上面代码生成的exe文件我在开始菜单 附件里的 命令提示符 里运行的...xp系统!我想问,为什么我输入一行如 asdas3sada,怎么会跳转到else的,agrc<2

白猪掌柜的
浏览 75回答 2
2回答

蓝山帝景

跟一行两行没关系, 跟了参数,就会大于1了,第一个参数是程序本身,第二个参数开始才是真正的参数

幕布斯6054654

argc就是数组有几个参数,0,1,就是2个,不是说最后一个元素的下标是多少,而是总共有几个
打开App,查看更多内容
随时随地看视频慕课网APP