#define _crt_secure_no_warnings
#include
#include
#include
intisnum
(char ch)
;void
eatspace
(char
*str)
;char
*roundbmatch
(char
*str,
int*pindex)
;double
getnum
(char
*str,
int*pindex)
;double
plus
(char
*str)
;double
multi
(char
*str,
int*pindex)
;//判定是否為數字
intisnum
(char ch)
//去除空格
void
eatspace
(char
*str)
}//括號匹配,返回內層子串
char
*roundbmatch
(char
*str,
int*pindex)
else
break
;default
:break;}
}while(*
(str+++(
*pindex))!=
'\0');
}//獲取數字
double
getnum
(char
*str,
int*pindex)
//處理整數和小數
while(1
)if(*
(str + index)
=='.')}
*pindex = index;
//此時指向符號
return value;}}
//處理加減法
double
plus
(char
*str)
}return value;
}//處理乘除法
double
multi
(char
*str,
int*pindex)
elseif(
*(str + index)
=='/'
)else
}*pindex = index;
return value;
}void
main()
;scanf
("%[^\n]"
, str)
;printf
("輸入%s\n"
, str)
;eatspace
(str)
;printf
("修正%s\n"
,str)
;double value =
plus
(str)
;printf
("表示式結果值%f\n"
, value)
;system
("pause");
}
常量表示式
字面值 是乙個不能改變的值,如數字 字元 字串等。單引號內的是字元字面值,雙引號內的是字串字面值。字面值型別 literal type 算數型別 引用和指標等。常量表示式 const experssion 是指 1 值不會改變 並且 2 在編譯過程就能得到計算結果的表示式。字面量屬於常量表示式,用常...
常量表示式
為了使函式獲取編譯時計算的能力,你必須指定constexpr關鍵字到這個函式。constexpr int multiply int x,int y 將在編譯時計算 const int val multiply 10,10 除了編譯時計算的效能優化,constexpr的另外乙個優勢是,它允許函式被應用...
C constexpr 常量表示式
在c 11中引入了constexpr關鍵字.意思是常量表示式,詳細來說就是在編譯期可求值的表示式.可以修飾表示式,函式,建構函式,類等 可以讓編譯器做出尺度更大的優化.這個關鍵字是為了解決以前的const關鍵字帶來的一些問題,其實在 實戰中const顯然是只有readonly唯讀這個概念,其在很多場...