有三个基础问题我不懂。

科比布莱恩特 2003-08-25 11:34:14

1.s[i]=k2[(k1[i]+n[i%strlen(n)])%0x24];
前面都看懂了,就是后面的那个0x24我不知道是什么?请问它代表什么含义?

2.while(*strl)和File *fp的含义
我在书上见到的是while(i<0)之类的语句并能看懂,但是这一句我就不懂了。

3.name_len=strlen(name);
这一句不懂,不知道函数strlen在程序中的起到的作用。

请大家帮我,我散40分。
...全文
15 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liliangll 2003-08-25
  • 打赏
  • 举报
回复
1.s[i]=k2[(k1[i]+n[i%strlen(n)])%0x24];
0x表示16进制数 24表示“$”

2.while(*strl)和File *fp的含义
表示当 *strl 指针的地址内容为 NULL时停止循环。

3.name_len=strlen(name);
strlen 返回字符串的长度,在ASCII中就是字符个数




科比布莱恩特 2003-08-25
  • 打赏
  • 举报
回复
^_^
huylghost 2003-08-25
  • 打赏
  • 举报
回复
1.0x表示16进制数
2 File *fp 是定义一个文件指针,用于磁盘文件操作
while(*strl)表示当 *strl 所指内存非空时进行循环
3 strlen 返回字符串的长度,在ASCII中就是字符个数

说得不准确,还望其他高手指正
科比布莱恩特 2003-08-25
  • 打赏
  • 举报
回复
好的。我明白了。
谢谢三井寿和chalse两位朋友。
收帖,加分。
科比布莱恩特 2003-08-25
  • 打赏
  • 举报
回复
请问这位朋友,当while(*strl)结束时*str == '\0'是指str==0了吗?
hero249 2003-08-25
  • 打赏
  • 举报
回复
1.
2.while(表达式1)表达式2 如果表达式1成立,则执行表达式2,如如果不成立,则执行while语句后面的语句。
*strl应该是一个字符串指针,这个表达式的意思是如果该指针存在,并且不指向NULL(就是只定义,没有赋值的话),则不执行表达式2。
3.很简单,取name的长度赋值给name_len.
积木 2003-08-25
  • 打赏
  • 举报
回复
给你一个小程序,运行一下就知道了
积木 2003-08-25
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<string.h>
int main()
{
char* p = "haha";
printf("%d\n",strlen(p));
printf("%d\n",0x24);
while(*p)
{
printf("%c",*p);
p++;
}
}
积木 2003-08-25
  • 打赏
  • 举报
回复
0x24 0x**代表这个数是一个16进制的数据

while(*strl) 当这个循环结束时就是 *str == '\0'时,while(*str)就是用这个为标准的

File *fp 这个是一个文件指针;

name_len=strlen(name); 这个东西计算字串name的长度

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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