新手请教C语言基础问题。

kyskj 2005-02-25 09:25:58
#include "stdio.h"
#include "ctype.h"
main()
{
char c;
c=getchar();
while(c!='@')
{if(isalpha(c))
{c=tolower(c);
c=(c-'a'+1)%26+'a';}
putchar(c); c=getchar();
}
printf("\n");
}
问题:c=(c-'a'+1)%26+'a'这句怎么解释啊
其实我的弄不明白的就是 (c-'a'+1)%26这个算式是怎么得出结果的,%26是个什么意思,是求余还是什么的?如果%26:除以26取余数
那么他的答案应该是多少是0和1吗?
如果(c-'a'+1)%26
c='a',c='b'那么答案是多少,请详细一下。

(2)
补充一下
s+=j 相当等同与什么:
还有就是++i和i++的区别。
++i=k 和i++=k区别
c+=b++这个又等同与什么啊?
...全文
168 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sikaodehaitun 2005-02-26
  • 打赏
  • 举报
回复
这句c=(c-'a'+1)%26+'a'的意思是把输入的任何一个英文字母变成它后续的一个字母,z的后续为a。
yuchengliu 2005-02-26
  • 打赏
  • 举报
回复
stormwolf 2005-02-26
  • 打赏
  • 举报
回复
来晚了啊,上面的把什么都答出来了。。。
colin310 2005-02-26
  • 打赏
  • 举报
回复
只有up了……
kyskj 2005-02-25
  • 打赏
  • 举报
回复
++i=k是说将k的值赋予i++
但是有一个兄弟说这样是语法错误啊。“i++=k中的i++不能做左值,所以语法错误”
yuqiang2008 2005-02-25
  • 打赏
  • 举报
回复
s+=j 相当等同与s=s+j
++i是先自加在用
i++是先用了在自加
++i=k是说将k的值赋予i++
c+=b++是c=c+(b++)
不想睡觉的猫 2005-02-25
  • 打赏
  • 举报
回复
第一个自己去编译一下就知道答案了,后面的就是一个先加后赋值和先赋值的问题~
dongyuanzhang 2005-02-25
  • 打赏
  • 举报
回复
这么多基础的问题,自己看看书不就都搞定了。
,%26是个什么意思?取余。

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧