矩阵中找到最大元素和它的位置怎么用指针啊

img


这里要求只写一个函数就行了
不会用指针 乱写的 提示说道了指针退化什么的 不太明白

你首先得把*r和*c初始化为0
你外面的循环,i<3写成了1<3

【相关推荐】



  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7396030
  • 这篇博客你也可以参考下:为什么拷贝构造函数的参数可以直接去访问它自己的私有成员?关于对象不能直接访问私有成员的超级大误区~
  • 您还可以看一下 吴刚老师的【吴刚大讲堂】电商视觉的排版与应用方法课程中的 订单页面的表单视觉优化及细节处理方法小节, 巩固相关知识点
  • 除此之外, 这篇博客: 使用指针方法实现字符串逆序存放后再输出;用指针方法编写一函数,实现两个字符串的比较中的 使用指针方法实现字符串逆序存放后再输出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    编写程序:从键盘任意输入一个字符串,输出该字符串。然后,将该字符串逆序存放后再输出,要求用字符指针完成。(提示:逆序存放的函数接口:void invstr(char *s))

    #include<stdio.h>
    #include<string.h>
    void invstr(char *s)
    {
    	char b;
    	int len;
    	len=strlen(s); /*获取该字符串的长度*/ 
    	for(int i=0;i<len/2;i++){ /*该循环的目的是每次将字符串的头和尾换一下位置*/ 
    		b=*(s+i); /*字符串的第i个元素的地址暂时放到b里*/ 
    		*(s+i)=*(s+len-1-i); /*将字符串的倒数第i个元素换到第i个元素*/ 
    		*(s+len-1-i)=b; /*再将b存放的地址放回倒数第i个元素*/ 
    	}	
    }
    int main()
    {
    	char a[1000];
    	gets(a); /*输入字符串*/ 
    	printf("%s\n",a); /*正序输出一次*/ 
    	invstr(a); /*运行函数*/ 
    	printf("%s",a); /*逆序输出*/ 
     } 
    

    利用指针编程,用指针方法编写一函数,实现两个字符串的比较。编程点拨:即自己编写一个strcmp函数:strcmp(s1,s2),如果s1= s2,返回值为0,如果s1≠s2, 返回它们二者第一个不同字符的ASCII码差值(如"BOY"与"BAD", 第二个字母不同,"O"与"A"之差为79-65=14)。如果要s1>s2,则输出正值,如果s1<s2,则输出负值。

    #include<stdio.h>
    #include<string.h>
    void strcmp(char *s1,char *s2)
    {
    	int len,i=0,sum=0,lenmax;
    	lenmax = strlen(s1);
    	len = strlen(s2); 
    	if(lenmax < len){
    		lenmax = len;
    	}
    	for(i=0;i<lenmax and sum==0;i++){
    		if(*(s1+i) > *(s1+i)){
    			sum = *(s1+i) - *(s2+i);
    		}
    		if(*(s1+i) < *(s2+i)){
               sum = ( - (*(s1+i) - *(s2+i)));
    		}
    	}
    	printf("%d",sum);
    }
    int main()
    {
    	char s1[1000],s2[1000];
    	gets(s1);
    	gets(s2);
    	strcmp(s1,s2);
     } 
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^