易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++笔试题(1)

试题1:
Code
Void test1()
{
    char string[10];
    char* str1="0123456789";
    strcpy(string, str1);
}
试题2:
Code
Void test2()
{
    char string[10], str1[10];
    for(I=0; I<10;I++)
    {
        str1[i] ='a';
    }
    strcpy(string, str1);
}
试题3:
Code
Void test3(char* str1)
{
    char string[10];
    if(strlen(str1) <= 10)
    {
        strcpy(string, str1);
    }
}
解答:
test1: 字符串str1需要11个字节才能存放下(包括末尾的'\0'),而string只有10个字节的空间,strcpy会导致数组越界
test2: 如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10分
test3: if(strlen(str1) <= 10)应改为if(strlen(str1) < 10),因为strlen的结果未统计'\0'所占用的1个字节
剖析:
考查对基本功的掌握:
(1)字符串以'\0'结尾;
(2)对数组越界把握的敏感度;
(3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案:
2分
void strcpy( char *strDest, char *strSrc )
{
    while( (*strDest++ = * strSrc++) != '\0' );
}
4分
void strcpy( char *strDest, const char *strSrc )
//将源字符串加const,表明其为输入参数,加2分
{
    while( (*strDest++ = * strSrc++) != '\0' );
}
7分
void strcpy(char *strDest, const char *strSrc)
{
   //对源地址和目的地址加非0断言,加3分
   assert( (strDest != NULL) && (strSrc != NULL) );
   while( (*strDest++ = * strSrc++) != '\0' );
}
10分
//为了实现链式操作,将目的地址返回,加3分!
Code


相关文档:

linux 下c++及mysql对时间处理的常用技巧

mysql 截取某一个时间(datetime类型)的日期:
方法1:select date(row_name) from table_name where row = row1;
方法2:select left(row_name, 10) from table_name where row = row1;
方法3:select cast(row_name as char[10]) from table_name where row = row1;
取得某个日期的time_t数值:select unix_times ......

C Sharp(C#)中如何删除文件(文件夹)

C Sharp(C#)中如何删除文件(文件夹)
直接删除:
using System.IO;
...
string filePath = @"D:\...\xxx.xxx";

if (File.Exists(filePath))
{
File.Delete(filePath);
}
else
{
Console. ......

c/c++语言中的字符集和字符编码

 在c语言中,hello world程序的编码其实未必就只有那一种书写格式,有些格式看起来有点乱码,却依然有着能正常编译,运行的良好品性,真是难能可贵,其中的秘密,看一看c语言中字符集和字符编码的描述吧。
??= include<stdio.h>
int main( int argc, char* argv??(??))
<%
      ......

virtualBox 大搬家 从C盘移走

 即使将VirtualBox安装到别的盘上,其做成的虚拟机(系统,硬盘)仍会默认生成到系统盘,默认C:盘上,随着虚机数量和内容增加挤占了本来就不大的系统盘空间,很是不便。
 开始将C:盘下.VirtualBox目录下的东西全盘拷贝至别处,然后在VirtualBox的文件/环境设置 中将『默认硬盘目录』和『默认假想机器』做相应的修 ......

C/C++ 文件读写操作总结

 C/C++ 文件读写操作总结
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:
 
1、基于C的文件操作;
2、基于C++的文件操作;
3、基于WINAPI的文件操作;
4、基于BCB库的文件操作;
5、特殊文件的操作。
壹 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号