用C加加语言从键盘中输入一个字符串用一个指针指向这个字符串输出这个指针及字符串所占用的内存的大小
时间: 2024-01-22 12:18:37 浏览: 28
下面是一个示例代码,可以实现从键盘中输入一个字符串,然后用指针指向这个字符串,并输出指针及字符串所占用的内存大小:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin >> str;
char* p = str;
cout << "指针p指向的地址为:" << (void*)p << endl;
cout << "字符串所占用的内存大小为:" << strlen(str) + 1 << " 字节" << endl;
return 0;
}
```
在这个示例代码中,首先定义了一个长度为100的字符数组str,然后通过cin从键盘中读取一个字符串,并将其存储到str中。接着定义一个指针p,指向str所在的内存地址。最后,通过strlen函数计算出字符串的长度,并加上1(因为字符串末尾还有一个空字符'\0'),即可得到字符串所占用的内存大小。使用(void*)p强制转换为void指针类型,是为了能够输出指针指向的内存地址。
相关问题
运用C加加编写一个程序输入一个字符串求字符串中字符的个数并输出
以下是一个简单的 C++ 程序,可以实现输入一个字符串,统计其中的字符个数并输出:
```c++
#include <iostream>
#include <string>
int main() {
std::string str;
std::cout << "请输入一个字符串:" << std::endl;
std::getline(std::cin, str);
int count = 0;
for (int i = 0; i < str.size(); i++) {
if (str[i] != ' ') { // 排除空格
count++;
}
}
std::cout << "字符个数为:" << count << std::endl;
return 0;
}
```
这个程序中,首先使用 `std::getline()` 函数读入一行字符串,然后遍历字符串中的每个字符,如果不是空格,则计数器加 1。最后输出字符个数即可。
输入3个字符串,按由小到大的顺序输出,用C加加,并且使用指针
```c++
#include<iostream>
#include<string>
using namespace std;
int main() {
string str1, str2, str3;
cout << "请输入3个字符串:" << endl;
cin >> str1 >> str2 >> str3;
string *p1 = &str1;
string *p2 = &str2;
string *p3 = &str3;
if (*p1 > *p2) {
string *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p1 > *p3) {
string *temp = p1;
p1 = p3;
p3 = temp;
}
if (*p2 > *p3) {
string *temp = p2;
p2 = p3;
p3 = temp;
}
cout << "按由小到大的顺序输出:" << endl;
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```