C++第17周项目2——用指针玩字符串(7)比较

简介: 课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565【项目2-用指针玩字符串】神奇的指针哟,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,可以操作字符数组(字符串)char str[];指向指针的指针可以操作二维数组。更灵活的是,在函数的传递中,指针、数组名在一定程度上

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565


【项目2-用指针玩字符串】神奇的指针哟,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,可以操作字符数组(字符串)char str[];指向指针的指针可以操作二维数组。更灵活的是,在函数的传递中,指针、数组名在一定程度上可以互换。
  本项目试图通过编制操作字符串的函数,实现字符串的操作。

  请编制函数,其功能是对字符串的进行操作

7、

功能:比较两个字符串,返回值同strcmp()

用数组名作形参:int astrcmp(const char str1[], const char str2[])

用指针作形参:int pstrcmp(const char *str1, const char *str2)

参考解答:
//7. 比较两个字符串,返回值同strcmp()
#include <iostream>  
#include <iomanip>
using namespace std;
//int astrcmp(char str1[], char str2[]); //自行实现
int pstrcmp(char *str1, char *str2);
int main(void)
{
	char *s[81]={"Tudou","Shanyaodan","Yangyu","Malingshu"};
	int i=0,j=0;
	cout<<"土豆大PK:"<<endl;
	cout<<setw(12)<<" ";
	for(;i<4;i++)
	{
		cout<<setw(12)<<s[i];
	}
	cout<<endl;
	for(i=0;i<4;i++)
	{
		cout<<setw(12)<<s[i];
		for(j=0;j<4;j++)
		{
			cout<<setw(12)<<pstrcmp(s[i],s[j]);
		}
		cout<<endl;
	}
	return 0;
}


//str>str2,返回1
//str==str2,返回0
//str<str2,返回-1
int pstrcmp(char *str1, char *str2)
{
	char *p=str1,*q=str2;
	while(*p==*q&&*p!='\0'&&*q!='\0')
	{
		p++;
		q++;
	}
	if (*p>*q)
		return 1;
	else if(*p<*q)
		return -1;
	else 
		return 0;
}


目录
相关文章
|
23天前
|
缓存 安全 编译器
C++面试周刊(3):面试不慌,这样回答指针与引用,青铜秒变王者
《C++面试冲刺周刊》第三期聚焦指针与引用的区别,从青铜到王者级别面试回答解析,助你21天系统备战,直击高频考点,提升实战能力,轻松应对大厂C++面试。
71 10
C++面试周刊(3):面试不慌,这样回答指针与引用,青铜秒变王者
|
23天前
|
存储 C++
C++语言中指针变量int和取值操作ptr详细说明。
总结起来,在 C++ 中正确理解和运用 int 类型地址及其相关取值、设定等操纵至关重要且基础性强:定义 int 类型 pointer 需加星号;初始化 pointer 需配合 & 取址;读写 pointer 执向之处需配合 * 解引用操纵进行。
135 12
|
2月前
|
C语言 C++
【实战指南】 C/C++ 枚举转字符串实现
本文介绍了在C/C++中实现枚举转字符串的实用技巧,通过宏定义与统一管理枚举名,提升代码调试效率并减少维护错误。
218 42
|
7月前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
154 16
|
9月前
|
存储 程序员 C++
深入解析C++中的函数指针与`typedef`的妙用
本文深入解析了C++中的函数指针及其与`typedef`的结合使用。通过图示和代码示例,详细介绍了函数指针的基本概念、声明和使用方法,并展示了如何利用`typedef`简化复杂的函数指针声明,提升代码的可读性和可维护性。
251 1
|
10月前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
531 4
WK
|
10月前
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
470 1
|
11月前
|
存储 安全 编译器
在 C++中,引用和指针的区别
在C++中,引用和指针都是用于间接访问对象的工具,但它们有显著区别。引用是对象的别名,必须在定义时初始化且不可重新绑定;指针是一个变量,可以指向不同对象,也可为空。引用更安全,指针更灵活。
|
11月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
1869 3
|
11月前
|
存储 编译器 C语言
C++入门2——类与对象1(类的定义和this指针)
C++入门2——类与对象1(类的定义和this指针)
154 2