[C语言指针搜索数组里的数]1 2 3 4 5 6 7 8 9 10 11 12 13 intmy_max = -INT_MAX; intrnd = 0; //第一步取得2113数组5261里最大数 for(i = 0; i < sizeof(arr), ++i) { if(arr[i] > my_max) my_max =...+阅读
#include
#include
#include
void sort(char *a[],int n)
{
int i,j;
char *temp;
for(i=0;i for(j=i+1;j if(strcmp(a[i],a[j]<0)) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } int main() { char *a[3]; int i; for(i=0;i<3;i++) a[i] = (char *)malloc(sizeof(char)); for(i=0;i<3;i++) scanf("%s",a[i]); sort(a,3); for(i=0;i<3;i++) printf("%s\n",a[i]); getch(); } 应该改成这样 其中 char *temp; temp=a[i]; a[i]=a[j]; a[j]=temp; 做了修改 原因如下:未修改前temp是一个字符变量,而*a[i]是指针a[i]所指向的内容,就把需要交换的字符串的首字符交换了。 你要交换的是指针或者说是地址,而不是指针里的内容。这就是问题所在。 在temp前加*就表示temp也是个指针,再把a[i]前的*去掉,就实现了交换指针地址的目的。 指针的声明要加*例如 int *a; 使用的时候如果事指针操作则不要带*例如 char *a = “hank”; a++;此时a指向的字符串就变成了“ank” 涉及到指针指向的内容的要加*例如 char b = *a; 指向数组的指针,例如 int b[10]; int *a = b; a就是b[0]的地址*a就是b[0]的内容 a+1就是b[1]的地址依此类推 又如char *a = "hank"; 那么通过a就能得到整个字符串"hank" *a是h *(a+1)是a ... STRCMP是c语言函数库中的函数 虽然传参传的是指针,但是具体比较的时候比较的是里面的内容。具体涉及到指向数组的指针的应用。因为c中没有String类型,所以就只能使用char类型的指针来表示字符串。 以下为关联文档: C语言用指针在数组中查找特定值#include<stdio.h> int find(int *p,int n,int b) { int i=0; while(i<n) { if(*p++==b) return i; i++; } return -1; } int main() { int k; int a[]={1,2,3,4,5}; int b;... c语言中函数名就是一个指针吗是的。c语言中, 函数名也称为函数的指针,所以c语言中函数名就是一个指针。 “函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字... C语言如何声明一个返回函数指针的函数C语言指向函数的指针承载的信息比较复杂,组织起来要素要写全。根据指向函数的指针的书写语法,下面的代码就是一个返回函数指针的函数: int (*f(void))(int){//f是函数,没有参数,... C语言中的函数指针函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法: int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(... C程序中左移的具体用法是什么C语言中,“<<;”为左移运算符,“>>;”为右移运算符。 具体使用方法如下: 1、左移运算符(<<) 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。 例:a = a <... 在C语言中11种赋值运算符的具体含义用法1.= 赋值运算符 变量=表达式 如:a=3;将a的值赋为3 2./= 除后赋值 变量/=表达式 如:a/=3;即a=a/3 3.*= 乘后赋值 变量*=表达式 如:a*=3;即a=a*3 4.%= 取模后赋值 变量%=表达式 如:a%... C语言中的char具体用法C语言中char用于定义字符类型变量或字符指针变量,例如“char a;”则定义了变量a是字符类型,“char *a;”则定义了变量a是字符指针类型。 char是C语言整型数据中比较古怪的一个,其... 二维数组指针 C语言编程 #include int main() { int a[2][5] = {{1,2,6,3,0},{10,20,40,60,80}}; int i,flag,order,value; while(scanf("%d",&order) == 1) { flag = 1; for(i = 0; i if(order == a... C语言中函数指针用法在C语言中,指针被广泛使用,而函数指针是最为高级的用法之一,也是容易疑惑的地方之一。 看下面这段代码: #include <stdio.h> void F(int a, int* output) { printf("a = %d\n", a)...