8个回答
2019-01-28
展开全部
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a[3][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8}};// 初始化二维数组
int i,(*p)[4]=a,*q=a[0];//定义变量i
//数组指针p 初始化为二维数组首地址
//一级指针q 初始化为二维数组首元素地址
for ( i = 0; i < 3; i++)//for循环,循环3次
{
if(i==0) //如果i为0,则(*p)[0] = a[0] + 1, 即a[0]为2
(*p)[i+i/2]=*q+1;
else //否者p进行 行偏移,q进行 数组元素偏移
p++,++q;
}
for ( i = 0; i < 3; ++i)
{
printf("%d\n",a[i][i]);//打印值
}
return 0;
}
展开全部
如果最后printf是printf("%d ",a[i][i])的话就可以这样解释:
1.二维数组实际是3个一维数组的结合a[0]={1,2,3,4} a[1]={3,4,5,6} a[2]={5,6,7,8}
2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]
3.*q实际指向也是a[0][0]
4.第一个循环体中只有i==0时才有对数组元素的操作,表达式实际为(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2
5.输出的时候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]
1.二维数组实际是3个一维数组的结合a[0]={1,2,3,4} a[1]={3,4,5,6} a[2]={5,6,7,8}
2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]
3.*q实际指向也是a[0][0]
4.第一个循环体中只有i==0时才有对数组元素的操作,表达式实际为(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2
5.输出的时候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二,是否能产生安全感,来自多方面的因素,有主观的和客观的。这里我们就主要谈谈主观方面。要让对方产生安全感,首先要做的就是让对方相信自己。让对方相信自己这是一件不容易的事,你必须在言谈举止方面能够体现出来,比如:说话要算数,说得到做得到,做不到就不要乱承诺;经常给她说说心里话,说说你的想法,经常问候和关心一下她的生活;无论多忙都不要不理她,经常给她一些惊喜;不要再对其它女孩太好,言谈和行动上都一样;愿意为他改掉你的不良习惯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的return四遍完全就是没有任何用的,你已经定义了全局变量了,不用return。问题在于你虽然敲击了回车,但那并不会被输入。所以你while循环可能会一直循环下去,直到碰巧碰到一个字符等于'\n'
#include<stdio.h>
int l,n,b,o;
int count(char a[])
{
char *m=a;
l=n=b=o=0;
while(*m!=0)
{
if(*m>='0'&&*m<='9')
n++; //数字统计
else if(*m>='a'&&*m<='z'||*m>='A'&&*m<='Z')
l++; //字母统计
else if(*m==' ')
b++; //空格统计
else
o++; //其他字符统计
m++;
}
}
int main()
{
char str[100] = {0};
printf("请输入一句话:");
scanf("%s",str);
count(str);
printf("字母:%d\n数字:%d\n空格:%d\n其他字符:%d\n",l,n,b,o);
return 0;
#include<stdio.h>
int l,n,b,o;
int count(char a[])
{
char *m=a;
l=n=b=o=0;
while(*m!=0)
{
if(*m>='0'&&*m<='9')
n++; //数字统计
else if(*m>='a'&&*m<='z'||*m>='A'&&*m<='Z')
l++; //字母统计
else if(*m==' ')
b++; //空格统计
else
o++; //其他字符统计
m++;
}
}
int main()
{
char str[100] = {0};
printf("请输入一句话:");
scanf("%s",str);
count(str);
printf("字母:%d\n数字:%d\n空格:%d\n其他字符:%d\n",l,n,b,o);
return 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
奇怪抱紧你摸摸头
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很多事都不是绝对的,不同的人有不同的做法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询