#include<iostream> using namespace std; int main() {int strcmp(char *pl,char *p2); int m; char str1[20],str2[20],*p1,*p2; cout<<"input two strings: "<<endl; cin>>str1; cin>>str2; p1=&str1[0]; p2=&str2[0]; m=strcmp(p1,p2); cout<<"result: "<<m<<endl; return 0; } int strcmp(char *p1,char *p2) {int i; i=0; while(*(p1+i)==*(p2+i)) if(*(p1+i++)==0)return(0); return(*(p1+i)-(*(p2+i))); }
时间: 2024-02-02 11:04:18 浏览: 152
这是一个比较两个字符串大小的程序,可以通过调用strcmp函数实现。具体做法是定义两个指针p1和p2,分别指向两个字符串的第一个字符,然后逐一比较它们的对应字符。如果两个字符相等,则继续比较下一个字符,直到出现不相等的情况。如果字符串已经比较完,且两个字符串的长度相同,则返回0表示两个字符串相等。否则,返回它们第一个不相等字符的差值。
在程序中,使用了指针的方式来访问字符串中的每个字符,可以方便地实现字符串的比较操作。需要注意的是,在比较两个字符串大小时,必须考虑它们的长度,否则可能会导致程序出错。
相关问题
#include<iostream> using namespace std; int main(int argc, char *argv[]) { return 0; }
这是一个简单的 C++ 程序,它的作用是输出一个整数 0 并返回给操作系统。其中:
- #include<iostream> 是 C++ 的头文件,它包含了输入输出流的定义。
- using namespace std; 声明使用 std 命名空间,这样我们就可以直接使用 std 中的函数和对象。
- int main(int argc, char *argv[]) 是程序的主函数,它接受两个参数:argc 表示命令行参数的数量,argv 是一个指向字符指针的指针,它存储了这些参数的值。
- return 0; 是程序的返回值,它表示程序执行完毕并成功返回。
#include<iostream> using namespace std; class Car { char* pName; int id; int m; public: Car(string name) { } }; 怎么将string name转换为char*pName
您可以使用`c_str()`函数将`std::string`类型转换为`const char*`类型,然后再将其复制到`char*`类型的变量中。下面是修改后的代码:
```
#include <iostream>
using namespace std;
class Car {
char* pName;
int id;
int m;
public:
Car(string name) {
pName = new char[name.length() + 1];
strcpy(pName, name.c_str());
id = 0;
m = 0;
}
~Car() {
delete[] pName;
}
};
int main() {
Car car("My car");
return 0;
}
```
在构造函数中,我们使用`new char[name.length() + 1]`为`pName`分配内存,该内存可以容纳字符串及其终止符。然后我们使用`strcpy()`函数将`name.c_str()`复制到`pName`中。最后,在析构函数中,我们使用`delete[]`释放内存。
阅读全文