C语言填空题,求助大神啦~这里小白一枚~关于指针的问题:

以下程序从命令行读入两个参数字符串,将其合并后作为一个字符串输出,要求第二个字符串在前第一个字符串在后。请将程序补充完整并记录运行结果。
void main(int argc, char * argv[])
{
if(【 】!= 3) return; // 检查参数数目
char str[81]; strcpy(str,【 】); strcat(str,【 】); // 拼接字符串
puts(str); // 输出字符串
}

第1个回答  2012-12-24
argc
argv[1]
argv[0]
就是这个答案啊。。。追问

错了…………还是…………

追答

这是对的

追问

还是不行……

追答

错误 str 没声明
你把char str[81] ;放在最前面 定义

追问

成功了~可是我没有输入它就自己结束了……怎么办呐?

追答

下面,他将了

第2个回答  2012-12-24
argc是命令行的个数,argv是存储每个的指针数组,你输入 hello world! argc是2,argv[0]指向的是hello,argv[1]指向的world!。
第3个回答  2012-12-24
argc
argv[2]
argv[1]追问

不对呃……

追答

不可能不对的,我验证过

两个字符串需要你在敲命令行的时候一起输入
比如你的可执行文件是test.exe,你就需要进入dos窗口,然后输入
test str1 str2
这样输出就是str2str1

追问

~~~~(>_<)~~~~ 

太专业了听不懂诶……sorry~

追答

你这是.c文件,所以有不少错误,如果是cpp(C++)可能就没问题了。

很多编译器要求所有变量定义在模块的最开始位置。将char str[81]移到main()函数最前面。

至于puts(),可以换成printf()试试。
system()可以不要了

编译链接代码, 最后进入命令行执行。

点击开始菜单,输入cmd,进入DOS窗口,然后输入
cd \users\sony\desktop\test\test\release,进入你可执行文件所在的路径
最后输入
test str1 str2执行
str1 str2可以替换为你想要的字符串,注意不要超过80字节的总长度。

本回答被提问者采纳
相似回答