输入2串数字以空格隔开,如何取出这2个数字相乘?
输入2串数字以空格隔开,如何取出这2个数字相乘? 输入2串数字以空格隔开,如何取出这2个数字相乘?#include<stdio.h>
#include<string.h>
#include<malloc.h>
//#include<stldlib.h>
int main()
{
size_t sz=1,i;
char* str=(char*)malloc(sz*sizeof(char)),*p,c;
if(!str)return 1; //表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常
while((c=getchar())!='\n') //可以使用getchar()的循环,scanf()只能接收空格之前的,遇空格结束 if(getchar()!=32) //32是空格的ascii码值,getchar()返回ascii
{
p=(char*)realloc(str,++sz*sizeof(char));
if(!p){free(str);return 1;} //是释放由str所指的内存
str=p;
str[sz-2]=c;
}
str[sz-1]=0;
i=0;
for(p=strtok(str," ");p;p=strtok(NULL," "))
printf("%4lu:%s\n",(unsigned long)++i,p); 这里如何取出这2个数字去相加
free(str);
return 0;
}