还是C语言的简单问题 继续

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:37:52
源代码:
#include<stdio.h>
/* #include<stdlib.h>*/ //②
void main(int argc,char *argv[])
{
int i;
int * a,* b;
long int total=0;
printf("********************************************");//①
printf("*>> >*");
printf("*>>This program adds any between two nums>>*");
printf("*>> >>*");
printf("*>> It's just a small test!! >>*");
printf("*>> >>*");
printf("********************************************\n");
if(argc!=3)
{printf("u missed the parament:\n");getch();clrscr();};//②
if (argv[1]>argv[2])
* a=argv[2],* b=argv[1];//③
else
* a=a

可以参考这个,我不知道C可不可以用,但在vc++6.0调试通过
#include<stdlib.h>
a=atol(argv[1]);
b=atol(argv[2]); //可以解决参数不匹配问题
max=b>a?b:a;
min=b<a?b:a;
for (i=min;i<=max;i++)
total+=i;
printf("the result is:%ld\n",total);
getch();

至于少了参数我还没明白你的意思
参考
你可以将begin后面的代码写成函数,如begin();
if(argc<=2) begin();//
然后再处理完命令行参数后再调用begin函数就可以了
请把问题说得在清楚些

关键错误性
你试图将 char *argv[] 赋值给 int * a,* b;
你居然将字符串指针数组赋给整型指针
不错才怪

你需要将char型转换成int 使用atoi涵数

int a,b;
a = atoi(argv[1]); //第一个参数
b = atoi(argv[2]); //第二个参数

晕,我是P+++滴 是高手 帮不了你了
SORRY 不过你 可以在这个上面找专家
会帮你

似乎确实有点麻烦!

你把字符串的指针直接复值给整数性的指针. 这能不错吗.???

拿2分先..