新手请教C语言基础问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:11:49
#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++这个又等同与什么啊?

c=(c-'a'+1)%26+'a'找来找去只是把字符加1而已
s+=j等价于s = s + j;
++i和i++的区别不是一时能说清,请自己看书
++i=k 和i++=k ++i或i++都只能作为右值,不能作左值哦所以这是错的
c+=b++等价于c = c + (b++);

++i和i++

++i 是增值 后引用
i++是后引用 后增值
比如:int i=5,a=0,b=0;
a=++i; //输出 a=6
b=i++: //输出 b=5