【求问】有关printf输出的问题
C++的代码
#include<iostream>
using namespace std;
int main(void)
{
char *a="qweqrw";
printf("%c",a);
return 0;
}
输出为4。
当代码为
#include<iostream>
using namespace std;
int main(void)
{
char a[]="qwerw";
printf("%c",a);
return 0;
}
每次输出不同的字符,有时候不会有输出。这是为什么呢? printf c++
[解决办法]
将"qwerw"的起始地址当字符输出?
[解决办法]
a指向一个字符串的首地址,你用%c像输出什么呢?%c是格式化输出一个字符,%s是输出字符串
[解决办法]
printf不是类型安全的.
你这里等价于把指针转换成char,然后输出.
char *a="qweqrw";
char b = reinterpret_cast<char>(a);
printf("%c",b);