社区
C语言
帖子详情
编译连接的问题
向良玉
2009-03-23 07:54:39
main(int a,char *b[])
{
int n=0,i;
for(i=0;i<a;i++)
n=n*10+*b[i]-'0';
printf("%d\n",n);
}
编译连接后生成可执行文件tt.exe,若运行的时候输入
tt 12 345 678
A.12 B.12345 C.12345678 D.136
这类题目我都不会做,请高手指教下,应该看什么东西。我想自己学学……
...全文
100
6
打赏
收藏
编译连接的问题
main(int a,char *b[]) { int n=0,i; for(i=0;i<a;i++) n=n*10+*b[i]-'0'; printf("%d\n",n); } 编译连接后生成可执行文件tt.exe,若运行的时候输入 tt 12 345 678 A.12 B.12345 C.12345678 D.136 这类题目我都不会做,请高手指教下,应该看什么东西。我想自己学学……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoQ008
2009-03-24
打赏
举报
回复
把1楼看懂 你就过关了
命令行参数
第一个是参数个数
第2个可以理解为存放参数的数组
tt 12 345 678
b[0]是程序名
b[1]=12
b[2]=345
b[3]=678
所以循环体里用到了b[0]是不是错误呢?
呵呵
楼主可以打开命令行敲敲
liqiong593664937
2009-03-24
打赏
举报
回复
我觉得答案应该选D,是不是啊?
kahn
2009-03-23
打赏
举报
回复
如果要选D的话,那么for那段就不能是i=0了,而应该是i=1。
否则当i=0时,b[0]="tt.exe",*b[0]='t'--->*b[0]=116
所以答案应该是68136
kahn
2009-03-23
打赏
举报
回复
貌似四个选项没一个对啊。。。。
猫已经找不回了
2009-03-23
打赏
举报
回复
google argc跟argv,不说啥了。
jixingzhong
2009-03-23
打赏
举报
回复
了解一下main主函数的参数:
每一C 程序都必须有一main()函数,可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。
1. main() 参数
在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。
* argc: 整数,为传给main()的命令行参数个数。
* argv: 字符串数组。
在DOS 3.X 版本中,argv[0] 为程序运行的全路径名;
对DOS 3.0 以下的版本,argv[0]为空串("") 。
argv[1] 为在DOS 命令行中执行程序名后的第一个字符串;
argv[2] 为执行程序名后的第二个字符串;
...
argv[argc]为NULL。 *env: 字符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS,C:\TURBOC(对于PATH) 或YES(对于87)。
TurboC2.0启动时总是把这三个参数传递给main()函数,可以在用户程序中说明(或不说明)它们,如果说明了部分(或全部)参数,它们就成为main()子程序的局部变量。 请注意:一旦想说明这些参数,则必须按argc,argv, env的顺序,如以下的例子:
main()
main(int argc)
main(int argc, char *argv[])
main(int argc, char *argv[], char *env[])
其中第二种情况也是合法的,但不常见,因为在程序中很少有只用argc,而不用argv[]的情况。
以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数:
/*program name EXAMPLE.EXE*/
#include
#include <stdio.h>
main(int argc,char *argv[],char *env[])
{
int i;
printf("These are the %d command-line arguments passed to \main:\n\n", argc);
for(i=0; i<=argc; i++)
printf("argv[%d]:%s\n", i, argv[i]);
printf("\nThe environment string(s)on this system are: \\n\n");
for(i=0; env[i]!=NULL; i++)
printf(" env[%d]:%s\n", i, env[i]);
}
如果在DOS 提示符下,按以下方式运行:
EXAMPLE.EXE: C:\example first_argument "argument with blanks" 3 4 "last butone" stop!
注意:可以用双引号括起内含空格的参数,如本例中的:"argument with blanks"和"Last but one")。
应该提醒的是:传送main() 函数的命令行参数的最大长度为128个字符 (包括参数间的空格),这是由DOS 限制的。
DeDe V3.50.02 (DELPHI反
编译
工具)
DeDe,著名的DELPHI反
编译
工具,3.5版本,多语种(含中文)界面,支持到D7版本,反
编译
结果虽然是汇编级,不过效果已经非常不错了。代码
连接
为DeDe3.10的源代码(D6
编译
的)
Win-Masm v2.2 汇编集成
编译
器
[软件介绍] Win-Masm是一个界面友好、操作简单,并且非常实用的8086汇编IDE开发环境。它基于masm6.15
编译
核心(同时兼容masm5.1)。支持语法高亮显示(并可自定义修改)、错误行快速定位、无限次Undo/Redo功能、Word式查找/替换功能、支持中文路径及长文件名等优点。界面的人性化设计,告别了在DOS平台下对汇编文件的编辑、
编译
、
连接
、运行等相关操作需要通过枯燥、繁琐并容易出错的命令敲打来完成的尴尬局面。一键
编译
/
连接
/运行/Debug的傻瓜式操作使得汇编爱好者能够更加专注于汇编语言的学习。 欲了解更多,请在安装完成后查看帮助手册! 软件官方博客:http://blog.csdn.net/paullbm
MySQL 多平台多模式(安装、配置和
连接
详解)
Re: MySQL 多平台多模式(安装、配置和
连接
详解)======================================= # 安装在 Windows 平台 # 安装 Linux 操作系统 # 安装激活 SCRT
连接
工具 # 安装在 CentOS 四种方式 1) YUM 源方式安装 2) 二进制 tar 包安装 3) RPM 包方式安装 4) 源码包 cmake
编译
安装 # 六种图形化工具
连接
1) SCRT CMD 2) Aqua Data Studio6.5 3) Navicat for MySQL 4) SQLyog_X64 5) MyManager Lite 5.5.3 6) MySQL Workbench 5.2 # 安装后的参数调整--------------------------------------------
汇编程序
编译
连接
过程
这章开始,我们将编写完整的汇编语言程序,用
编译
和
连接
程序将它们
连接
成可执行文件(如.exe文件)在DOS中运行。
程序编辑,程序
编译
,程序
连接
。
程序编辑:上机输入或者编辑源程序。 程序
编译
: ①先用C提供的“预处理器”,对程序中的预处理指令进行
编译
预处理 ②对源程序进行语法检查,判断是否有语法错误,直到没有语法错误未知 ③
编译
程序自动把源程序转换为二进制形式的目标程序 程序
连接
:将所有
编译
后得到的目标模块
连接
装配起来,在与函数库相
连接
成为一个整体的过程称之为程序
连接
...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章