关于C语言的有趣问答
来源:互联网 发布:mac air windows 驱动 编辑:程序博客网 时间:2024/06/06 11:13
1、gets() 方法
问:以下代码有个被隐藏住的问题,你能找到它吗?
答:这个不显眼www.123uq.com的问题就是使用了 gets() 方法。此方法接受一个string类型参数,但是却没有检测此数值是否 有足够的空间来拷贝数据。所以这里我们一般用 fgets() 方法将来的更好。
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
}
2、strcpy() 方法
问:密码防护是很基本的功能,看看能否搞定下面这段代码?
#include<stdio.h>
int main(int argc, char *argv[])
{
int flag = 0;
char passwd[10];
memset(passwd,0,sizeof(passwd));
strcpy(passwd, argv[1]);
if(0 == strcmp("LinuxGeek", passwd))
{
flag = 1;
}
if(flag)
{
printf("\n Password cracked \n");
}
else
{
printf("\n Incorrect passwd \n");
}
retuwww.123vu.comrn 0;
}
问:以下代码有个被隐藏住的问题,你能找到它吗?
答:这个不显眼www.123uq.com的问题就是使用了 gets() 方法。此方法接受一个string类型参数,但是却没有检测此数值是否 有足够的空间来拷贝数据。所以这里我们一般用 fgets() 方法将来的更好。
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
}
2、strcpy() 方法
问:密码防护是很基本的功能,看看能否搞定下面这段代码?
#include<stdio.h>
int main(int argc, char *argv[])
{
int flag = 0;
char passwd[10];
memset(passwd,0,sizeof(passwd));
strcpy(passwd, argv[1]);
if(0 == strcmp("LinuxGeek", passwd))
{
flag = 1;
}
if(flag)
{
printf("\n Password cracked \n");
}
else
{
printf("\n Incorrect passwd \n");
}
retuwww.123vu.comrn 0;
}
0 0
- 关于C语言的有趣问答
- 有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的c语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 12个有趣的C语言问答
- 网站统计访问次数的方法
- 享元模式之C++实现
- Hello Blog!
- 使用Scoller类实现平滑滚动效果
- ViewPagerDemo实例
- 关于C语言的有趣问答
- 一个完整的C语言程序的结构及规范解析
- hdoj 1002 A + B Problem II
- 关于jQuery判断元素是否存在的问题示例探讨
- C#中virtual和abstract的区别
- 【交互设计】隐藏在背后的交互设计
- android定位的实现
- 算法导论第六章__实现优先队列
- hdoj 1004 Let the Balloon Rise