|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# include <stdio.h>
# define M 100
int main()
{ int i,j;
char a[M];
printf("请输入一列字符串:\n");
for(i=0;i<M;i++)
{scanf("%c",&a[i]);
if(a[i]=='\n')
break;
}
printf("则该列字符串倒序输出为:");
for(j=i;j>=0;j--)
printf("%c",a[j]);
printf("\n");
return 0;
}
一开始的宏定义M是100,输入一个长度小于等于100的字符串(黑框里为啥不用加大括号了,为啥写代码的时候给数组赋值需要大括号),i=0;i<M;i++与j=i;j>=0;j--知道是啥意思但是放在for后面从0到M循环跟我输入的字符串又有啥联系啊(我随便输入一串字符串 他是怎么跟我输入的字符串一个字符一个字符对应上的 明明也不连着啊),,最没看懂的是终止循环 if(a[i]=='\n') break。。。。。if括号里啥意思 之前有个让从n个数中挑出奇数/偶数的时候好像用过==跟!= ??????
谢谢大家
1 初始化的时候需要用大括号,单独对某一个元素赋值当然不用
2 输入的一一对应是通过scanf来实现的,因为scanf中指定了每次从输入流中拿一个字符放到数组中
3 if判断条件是因为在你输入完后会回车结束输入,而该回车也就是'\n'被存放在数组中有效字符的最后一个位置,通过它就能判断字符串的结束位置
|
|