C语言学习
函数部分
例题:将字符串“12+5=;45-2=;34*2=;56/3=”的结果计算出来,并且填写在等号后面,并将形成的带结果的新字符串重新打印出来。
#include<stdio.h>
#include<string.h>
int main(){
char a[100]="12+5=;45-2=;34*2=;56/3=";
char *s;
char b[100]={0};
s=strtok(a,";");
while(s){
char c ; int i,j;
//将分好块的字符串变成整型进行计算
sscanf(a,"%d%c%d=",&i,&c,&j);
int res=0;
switch(res){
case '+':
res=i+j;
break;
case '-':
res=i-j;
break;
case '*':
res=i*j;
break;
case '/':
res=i/j;
break;
default:
res=0;
}
//将整型变成字符串
char tmp[10]={0};
sprintf(tmp,"%s%d",s,res);
strcat(b,tmp);
s=strtok(NULL,";");
}
strcpy(a,b);
printf("%s\n",a);
return 0;
}
主要是对strtok,strcat ,strcpy ,sscanf , sprintf 的使用。
本文通过一个具体的C语言示例,展示了如何使用strtok、strcat、strcpy、sscanf和sprintf等函数来解析并计算包含算术表达式的字符串,最后将计算结果整合回原字符串中并打印。

1051

被折叠的 条评论
为什么被折叠?



