#include<stdio.h>void main(){ int a[3][5],s[3],i,j,k;for(i=0;i<3;i++) for(j=0;j<5;j++) scanf("%d",*(a+i)+j);for(i=0;i<3;i++){ *(s+i)= *(*(a+j));for(j=1;j<5;j++) if(*(s+i) < *(*(a+i)+j)) *(s+i)= *(*(a+i)+j); }for(i=0;i<3;i++){ printf("Line=%d Max=%d",i,s[i] );printf("\n"); }} 哪里不对呢?可以运行,但结果是
想请教大神怎么改,而且要求像我那样用到指针的
可以参考下面的修改方法:
把第二个for(i=0;i<3;i++)循环里的
*(s+i)=*(*(a+j));换成*(s+i)=*(*(a+i));
即:
for(i=0;i<3;i++)
{ *(s+i)=*(*(a+i));
扩展资料:
for循环
1、语句最简形式为:
for( ; ; )
2、一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。 [1]
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值。
出参考资料来源:百度百科-for循环
把第二个for(i=0;i<3;i++)循环里的
*(s+i)= *(*(a+j));换成
*(s + i) = *(*(a + i));本回答被提问者和网友采纳