编写一个程序,从键盘接受用户输入一个字符串,编写函数对该字符串进行加密(把字符串中的每个字符ASCII都加上5),然后返回并输出结果。
#include <stdio.h>
void jiami(char *);
void main()
{
char a[20];
printf("请输入一个字符串:\n");
gets(a);
jiami(a);
printf("加密后的字符串内容为:%s",a);
}
void jiami(char *s)
{
char ch;
while (*s!='\0');
{
*s+=5;
s++;
}
}
觉得自己的思路哪里错了,但是又不知道问题出在哪。
----------------解决方案--------------------------------------------------------
这个可以了:
#include <stdio.h>
void jiami(char *s);
void main()
{
char a[20];
printf("请输入一个字符串:\n");
gets(a);
jiami(a);
printf("加密后的字符串内容为:%s\n",a);
}
void jiami(char *s)
{
char *ch;
ch=s;
while (*ch!='\0')
{
*ch+=5;
ch++;
}
//puts(s);
}
----------------解决方案--------------------------------------------------------
这个可以了:
#include <stdio.h>
void jiami(char *s);
void main()
{
char a[20];
printf("请输入一个字符串:\n");
gets(a);
jiami(a);
printf("加密后的字符串内容为:%s\n",a);
}
void jiami(char *s)
{
char *ch;
ch=s;
while (*ch!='\0')
{
*ch+=5;
ch++;
}
//puts(s);
}
很反感只贴代码,不对提问者说明原因的做法.LZ你的算法没错,只是在细节上没处理好~只要像LS改动程序即可,但按你的算法,我实在看不出错的原因来...不过按习惯上来说,最好按LS的这样写代码,不然会出现难以预料的问题~
----------------解决方案--------------------------------------------------------
是的,没有错误和警告,但是运行后没有任何结果.
我对于数组指针还是比较生疏,不大会用.
谢谢:)
----------------解决方案--------------------------------------------------------
高手指教下啊。LZ的算法错在哪????
想弄个明白。。。
----------------解决方案--------------------------------------------------------
我也不是很明白,为什么函数里形参*s不能直接用来作为指针遍历而必须再定义个char *ch;ch=s;然后用ch来进行遍历?
----------------解决方案--------------------------------------------------------
是不是*s如果在调用函数进行了遍历,那么在返回主程序后输出时printf("%s",a)变成了从数组最后位输出,就产生了逻辑上的错误?
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
我觉得是这样子的。。。
----------------解决方案--------------------------------------------------------
我晕过去了,再认真看了遍,找到问题了,是个低级得不得了的错误.
现在好了:
#include <stdio.h>
void jiami(char *);
void main()
{
char a[20];
printf("请输入一个字符串:\n");
gets(a);
jiami(a);
printf("加密后的字符串内容为:%s\n",a);
}
void jiami(char *s)
{
while (*s!='\0')
{
*s+=5;
s++;
}
}
[此贴子已经被作者于2007-4-25 15:47:33编辑过]
----------------解决方案--------------------------------------------------------