C语言中将二维数组作为函数参数来传递,strcmp和stricmp、strcmpi三者之间的区别(C++

1、C语言中将二维数组作为函数参数来传递

c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下:

方法一, 形参给出第二维的长度。

例如:

#include <stdio.h>
void func(int n, char  str[ ][5] )
{
 int i;
 for(i = 0; i < n; i++)
  printf("/nstr[%d] = %s/n", i, str[i]);
}

void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 func(3, str);
}

方法二,形参声明为指向数组的指针。

例如:

#include <stdio.h>
void func(int n, char  (*str)[5] )
{
 int i;
 for(i = 0; i < n; i++)
  printf("/nstr[%d] = %s/n", i, str[i]);
}

void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 func(3, str);
}

 方法三,形参声明为指针的指针。

例如:

#include <stdio.h>
void func(int n, char **str)
{
 int i;
 for(i = 0; i < n; i++)
  printf("/nstr[%d] = %s/n", i, str[i]);
}
void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 p[0] = &str[0][0];
for(int i = 1;i<3;i++)
{
  p[i] = str[i];
}
anacurve(3,p);
    func(3, p);

}

2、strcmp和stricmp、strcmpi三者之间的区别(C++

#include <string.h>
#include <stdio.h>

原型:extern int strcmp(const void *s1, const void *s2);

用法:#include <string.h>

功能:比较字符串s1和s2是否相同,区分大小写。

说明:如果s1=s2则返回零,否则返回非零值。

原型:extern int stricmp(char *s1,char * s2);

用法:#include <string.h>

功能:比较字符串s1和s2,但不区分字母的大小写。

说明:strcmpi是到stricmp的宏定义,实际未提供此函数。
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0

//举例:

void main()
{
char *str1=“I am OldWolf”;
char *str2=“I am Oldwolf”;
int cmp;

printf(“原字符串分别为:\n%s\n%s\n\n”,str1,str2);
cmp=strcmp(str1,str2);
if (cmp!=0)
printf(“strcmp比较字符串不相同!\n”);
else
printf(“strcmp比较字符串相同!\n”);
cmp=stricmp(str1,str2);
if (cmp!=0)
printf(“stricmp比较字符串不相同!\n”);
else
printf(“stricmp比较字符串相同!\n”);
cmp=strcmpi(str1,str2);
if (cmp!=0)
printf(“strcmpi比较字符串不相同!\n”);
else
printf(“strcmpi比较字符串相同!\n”);
}

3、
父类转子类
Handle(Geom_Geometry) plane;
Handle (Geom_Plane) S = Handle(Geom_Plane)::DownCast(plane)
TopoDS_Face m_face= BRepBuilderAPI_MakeFace(S,Precision::Confusion());
TopoDS_Shape = m_face ;

子类转父类子类可以直接赋值给父类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值