写表达式求值得时候。在将char转换成数的时候出现问题,已将问题精简出来
程序代码:
#include<iostream> #include<cstdio> #include<vector> #include<cstdlib> #include<cstring> using namespace std; int main(){ float data; char c,dr[2]; char tem[20]; c=getchar(); while(c!='#'){ if(c!='#'){ dr[0]=c; dr[1]='\0'; strcat(tem,dr); c=getchar(); if(c=='!'){ data=(float) atof(tem); strcpy(tem,"\0"); } } } cout<<data<<endl; return 0; }
按照这个写法,当输入23!# 的时候应该输出23;
让将上面代码的 strcat(tem,dr); 改成strcpy(tem,dr)的时候就只能输出一个位了,,
我想问,用strcat的过程哪有问题,