输入一个字符串,将其逆序后输出(使用C++),并写出程序的运行结果:
#include <iostream>
#include <cstring>
int main()
{
char a[50];
memset( a, 0, sizeof(a) );
std::cin.getline( a, 50, '\n' ); // 输入为12345
for( int i=0, j=strlen(a) - 1; i < strlen(a)/2;
i++, j-- )
{
char t = a[i];
a[i] = a[j];
a[j] = t;
}
std::cout << a << std::endl;
std::cout << sizeof(a) << std::endl; // 50
std::cout << strlen(a) << std::endl; // 5
char *b = "12345";
std::cout << sizeof(b) << std::endl; // 4
std::cout << strlen(b) << std::endl; // 5
char *c = a;
std::cout << sizeof(c) << std::endl; // 4
std::cout << strlen(c) << std::endl; // 5
}
用指针的方式将字符串“abc1234DEF”逆向输出:
#include <cstring>
#include <iostream>
int main( )
{
char str[11] = "abc1234DEF";
char *ch = str;
std::cout << "sizeof(str) = " << sizeof(str) << std::endl;
std::cout << "sizeof(ch) = " << sizeof(ch) << std::endl;
std::cout << "strlen(str) = " << strlen(str) << std::endl;
std::cout << "strlen(ch) = " << strlen(ch) << std::endl;
// 用指针的方式将"abc1234DEF"逆向输出
for( size_t i = 0; i <= strlen(str); ++i )
{
char *p = str + strlen(str) - i;
std::cout << *p;
}
}
试写出下面程序的
运行结果:
#include <iostream>
int main( )
{
char ch = 'A';
int a = ch;
a <<= 2;
for( size_t i = 0; i < sizeof(a); ++i )
{
int temp = *((char *)&a + i);
std::cout << temp << ' ';
}
std::cout << std::endl;
return 0;
}