今天看到一个c++学习群里的一个哥们写了一段程序:
#include
using namespace std;
int main(int argc, char* argv[])
{
char c[10]="今天";
cout<
for(int i=0;i<10;++i)
cout<
char
ch[3]={-67,-15,0};
cout<
return 0;
}
启示是char可以存放汉字,但需要一个char型的长度为3的一维数组来存放汉字。接着我试着编了一个程序,如下:
#include
#include
using namespace std;
int main()
{
int i,j,k=0;
char c[20]="今天是个好天气!";
cout<
for(i=0;i<16;++i)
cout<
char
ch[8][3];
for(i=0;i<8;i++)
for(j=0;j<2;j++)
{
ch[i][j]=int(c[k]);
k++;
}
for(i=0;i<8;i++)
ch[i][2]=0;//这里也可以写成“ch[ i ][
2 ]='\0';”
for(i=0;i<8;i++)
puts(ch[i]);
for(i=0;i<8;i++)
for(j=0;j<3;j++)
putchar(ch[i][j]);
return 0;
}
很有趣!
后来我问了一些网上的高手,得到了另外两串代码:
代码1:
#include
using namespace std;
int main()
{
char c[20]="今天是个好天气!";
cout<
for(int
i=0;i<16;i=i+2)
cout<
return 0;
}
代码2:
#include
#include
using namespace std;
int main()
{
int i,j,k=0;
char c[20]="今天是个好天气!";
cout<
for(i=0;i<16;++i)
cout<
])<
char ch[ 8
][ 2 ];
for(i=0;i<8;i++)
for(j=0;j<2;j++)
{
ch[ i ][ j
]=int (c[ k ]);
k++;
}
// for(i=0;i<8;i++)
// ch[8][2]=0;
// for(i=0;i<8;i++)
// puts(ch[ i ]);
cout<
return 0;
}
更加简练的:
#include
void main()