为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白猪掌柜的 2022-09-17 12:14:20

/* ---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

查看完整描述

2 回答

?
蓝山帝景

TA贡献1508条经验 获得超7个赞

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

查看完整回答
反对 回复 6天前
?
幕布斯6054654

TA贡献1545条经验 获得超7个赞

argc就是数组有几个参数,0,1,就是2个,不是说最后一个元素的下标是多少,而是总共有几个

查看完整回答
反对 回复 6天前

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信