signed 是有符號的,也就是有負值。unsigned是無符號的,沒有負值。在某些情況下,for循環只能用有符號的。其實我覺得for循環中的循環變量最好用有符號數 char不夠用用int,再不夠用long。除非必要,最好不要用unsigned的變量。給大家一個有趣的程序玩玩(是在VS2017上寫的,要換其它編譯軟件,只要把pch.h改成相應的頭文件就行,一般好像是studio.h):
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
// unsigned char i;//i換成unsigned char型就會變成死循環
signed char i;
for (i = 7; i > 0; i--) {
cout << "i=" <<int(i) << endl;
i--;
}