目錄數組(Array)一、數組概念二、如何聲明一個數組三、如何為數組初始化1、數組本身初始化:2、數組的元素初始化2.1 一維數組2.2多維數組四、如何表示數組的各個概念五、數組記憶體和分配空間六、數組相關演算法七、十大內部排序演算法八、數組的工具類:Arrays九、數組的異常 數組(Array) 一、數 ...
轉義字元
例題一
int main()
{
char s[] = "012xy\08s34f4w2";
int i, n = 0;
for (i = 0; s[i] != 0; i++)
{
if (s[i] >= '0' && s[i] <= '9')
{
n++;
}
}
printf("n=%d\n", n);
}
輸出:
——
n=3
——
例題二
int main()
{
char s[] = "\01234";
for (int i = 0; s[i]; i++)
{
printf("1");
printf("%c\n", s[i]);
}
}
輸出:
——
1
13
14
——
總結:
八進位值的判斷取決於後續是否為合法的八進位。
以\開始,最少1位,最多3位,且必須是合法的8進位數字,即0~7,如"\012"。
例:在"\08"中,’\0’為結束符。
自增與自減
例題一
int main()
{
int k = 5, n = 4;
while (k--)
{
printf("%d\n", k -= 1);
}
printf("---------\n");
while (--n)
{
printf("%d\n", --n);
}
}
輸出:
——
死迴圈
——
總結:
自增與自減也同樣應用在迴圈體判斷里,前--時先根據當前值進行判斷,是否進入迴圈體,再改變自身的值,最後執行迴圈體語句。
例題二
int main()
{
int a = 0;
printf("%d %d %d %d", ++a, a, a++, ++a, a);
}
輸出:
——
3 3 1 3
——
總結:
在C語言中有個很常用的函數printf,使用時從右向左壓棧,依次從右向左開始計算,計算完後才會往%d中輸出,因為有多條賦值語句,所以它是個累加過程,直到壓棧結束後輸出最終得累加值,而遇到a++這種先使用在變化的量則優先輸出。
參考:
https://blog.csdn.net/weixin_43919932/article/details/88544728