看板 C_and_CPP 關於我們 聯絡資訊
本來想說可以用strtok 可是他會把delim刪掉... #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char * in=malloc(sizeof(char)*100); printf("Enter your string:"); scanf("%s",in); char * endptr; double d=strtod(in,&endptr); do{ printf("%f,%c\n",d,*endptr); endptr++ ; d=strtod(endptr,&endptr); }while(*endptr!='\0'); printf("%f\n",d); return 0; } Enter your string:1+(2+3+(4+5)) 1.000000,+ 0.000000,( 2.000000,+ 3.000000,+ 0.000000,( 4.000000,+ 5.000000,) 0.000000,) 0.000000 會變成這樣, ( )都拆出來了, 就去判斷一下遇到 ( 的時候那個 0.000000 的數字應該改成甚麼就知道了 要是我大概會改成這樣吧 1+1(2+3+1(4+5)) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.102.254