请大神回答一下以下写法对吗?

const unsigned char tSuitLetter = _T('?');这个写法对吗?

不对 char型的话应该是一个字符,等号右边赋值不对

可以,在VS2013环境下以下程序没问题

 // ConsoleApplication1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
    const unsigned char tSuitLetter = _T('A');
    printf("%c", tSuitLetter);
    return 0;
}

以下代码在 VS2008 中编译通过,编译时要注意工程属性选项中:常规->字符集的不同设置。

 int _tmain(int argc, _TCHAR* argv[])
{
    const unsigned char tSuitLetter = _T('A');  // _T('A') 在 Unicode 模式下占用两个字节,虽然可以被赋值给 unsigned char,但含义不一样的
    const TCHAR tcSuitLetter = _T('A');         // 在内存中是 0x41 0x00
    printf("%c,%c", tSuitLetter,tcSuitLetter);
    return 0;
}