题目:编写程序Sum,用户按以下格式输入: sum <空格>数据1<空格>数据2<空格>…<回车> 程序输出求和结果,数据都是整数,个数不定
#include <stdio.h>
int main(int argc,char*argv[])
{
//argc:传递的参数列表中参数的个数(即argv数组的长度)
//argv:传递的参数列表(因为是char * 型的数组,所以每个数组元素都指向一个字符串)
int i;int sum = 0;int num;
if(argc == 1)
return 0;//输入的第一个字符是执行编译文件"./sum"
for(i = 1;i<argc;i++)
{
if(sscanf(argv[i],"%d",&num)<0) //通过sscanf 将字符转换为整型
return -1; //error
sum +=num;
}
printf("sum = %d\n",sum);
return 0;
}
程序运行结果
补充:int sscanf (const char *str,const char * format,…);
函数说明:sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据