C语言主函数参数的调用

jinlong2015 2012-11-06 01:06:00
[code=c]
[/code]#include<stdio.h>
void main(int argc,char *argv[])
{
float area,w,h;
if (argc < 3)
{
printf("\007Usage:%s width height\n",argv[0]);
printf("for example:%s 12.3 4.5\n",argv[0]);
return ;
}
// 参数0 是程序名,argc参数个数
scanf(argv[1],"%f ",&w); // 从参数1取得宽
scanf(argv[2],"%f",&h); // 从参数2取得高
printf("w=%f , h=%f ",w,h);
area = w * h;
printf("area=%f\n",area);
return ;
}
执行时,用命令lizi.exe 12.3 4.5
为什么w和h的值不等于预想的值?菜鸟求帮忙!
...全文
204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinlong2015 2012-11-06
  • 打赏
  • 举报
回复
多谢多谢!
breakfisher 2012-11-06
  • 打赏
  • 举报
回复
还有好好看看scanf的用法
Kuovane 2012-11-06
  • 打赏
  • 举报
回复
改成这样
#include<stdio.h>
void main(int argc,char *argv[])
{
	float area,w,h;
	if (argc < 3)
	{
		printf("\007Usage:%s width height\n",argv[0]);
		printf("for example:%s 12.3 4.5\n",argv[0]);
		return ;
	}
	// 参数0 是程序名,argc参数个数
	sscanf(argv[1],"%f ",&w); // 从参数1取得宽
	sscanf(argv[2],"%f",&h); // 从参数2取得高
	printf("w=%f , h=%f  ",w,h);
	area = w * h;
	printf("area=%f\n",area);
	return ;
}
breakfisher 2012-11-06
  • 打赏
  • 举报
回复
#include<stdio.h> #include <stdlib.h> void main(int argc,char *argv[]) { float area,w,h; if (argc < 3) { printf("\007Usage:%s width height\n",argv[0]); printf("for example:%s 12.3 4.5\n",argv[0]); return ; } w = atof(argv[1]); h = atof(argv[2]); printf("w=%f , h=%f ",w,h); area = w * h; printf("area=%f\n",area); return ; }

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧