i++ 與 ++i 的主要區別有兩個:
1、 i++ 返回原來的值,++i 返回加1後的值。
2、 i++ 不能作為左值,而++i 可以。
本來我想當然的以為在c語言中指標預算符的優先順序肯定比++高,後來在寫程式時發現並沒有這麼當然。
在c語言中,自增運算子++和指標運算子*的優先順序關係為
左++ > * > 右++
比如 ++ *i 相當於 ++ (*i) ,指標i對應的變數+1。
*i ++ 相當於 * (i++) ,指標i,也就是位址值 +1(其實是加1個變數所佔的位址空間)
#include
"stdafx.h"
#include
using
namespace std;
//用於測試++、--前字尾、=賦值、指標引用
//++、--字尾優先順序最高,結合性l-r(從左到右)
//++、--字首以及*間接引用優先順序次之並位於同一優先順序組,結合性r-l
//=賦值運演算法優先順序最低,結合性r-l
intmain()
分析:++*p = *p1++;
首先由右向左,*p1++中++字尾優先順序大於*,所以應該先執行++,但是++返回的是加之前的內容,即返回的是*p1為10;所以首先++*p = 10;然後p的指標加1;所以p指向了未知記憶體。在分析++*p = 10;*優先順序大於++字首,所以*p = *p+1;所以c變為了9,然後就是*p = 10;進行賦值,最終c=10;
執行緒優先順序測試
當可執行狀態的執行緒很多,那麼優先極高的執行緒將會先執行。執行緒的優先順序用1 10之間的整數表示,數值越大優先順序越高,預設的優先順序為5。執行緒還有三個常量,看下面的測試類。下面弄個小例子。1.執行緒類 package com.citi.thread public class threadtes...
測試優先順序定義
一級功能測試 業務場景測試 測試用例的優先順序用於標識測試用例的重要性和執行頻率,共分為4級,由高至低依次為p0 p3。p0核心功能測試用例 冒煙測試 確定此版本是否可測的測試用例,此部分測試用例如果fail會阻礙大部分其他測試用例的驗證。p1高優先順序測試用例,最常執行以保證功能性是穩定的 基本功...
測試用例優先順序
在有限的測試資源和時間的情況下,盡早盡快在測試物件查詢出盡可能多的缺陷很大程度上是由如何制定測試用例優先順序決定的,因此測試用例優先順序在乙個測試專案中至關重要。一 測試優先順序的劃分 1 測試時間和資源有限,可能無法執行所有的測試用例,窮盡測試是不可能的。2 首先執行最重要的測試用例,盡早盡快的發...