欢迎提供C/C++面试题目及答案,欢迎讨论

redsunny 2003-06-17 09:07:39
近期要去换个工作,因为长期作图像的算法研究去了,所以对于一些基本的东西都忘的差不多鸟了,去考试很气馁,真他妈的考的无聊,可没办法,就这么无聊。
奶奶的,居然考我一些API函数的名字,查就知道了,那么多老子哪记得住。

只要你的题目有意义,你的讨论有意义,就给分,太简单的题目不必放。
...全文
397 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfc168 2003-07-23
  • 打赏
  • 举报
回复
very good
redsunny 2003-07-23
  • 打赏
  • 举报
回复
结贴,分散了。没给的别介意。
shadesert 2003-06-27
  • 打赏
  • 举报
回复
大家看看以下程序的结果是什么?

int i=7;
int j=(++i)+(++i)+(++i);
cerr<<j<<endl;

有人说这个本身就错了。因为在C++标准中,规定在一个sequence point中,只能对同一个变量写一次。否则,等式值为未定义。
但是在VC++中我编译通过并且结果为28。
为何?大家看看。
redsunny 2003-06-23
  • 打赏
  • 举报
回复
1.strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc)
{
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
char * strDestCopy=strDest; //[3]
while ((*strDest++=*strSrc++)!='\0'); //[4]
return strDestCopy;
}

我看到的标准答案。这里return strDestCopy;有意义吗?
shadesert 2003-06-23
  • 打赏
  • 举报
回复
哪儿有《高质量C++/C编程指南》的电子版下载吗?
LoveXYDeepLY 2003-06-23
  • 打赏
  • 举报
回复
头文件中的 ifndef/define/endif 干什么用?
这个就是条件编译吗?确定用哪个宏而已,在许多头文件中都有定义的。

#include <filename.h> 和 #include “filename.h” 有什么区别?
这个是前面一个在系统指定的目录或文件夹中寻找,而后一个就比较的安全,先是在系统指定目录中找,然后在再,当前的文件夹中找,一般是自定义的用后一个,调用系统的用前一个吧。
uniware 2003-06-22
  • 打赏
  • 举报
回复

common_man(谢安王导)的几个问题 是《高质量C++/C编程指南》中的。
好像有些公司即直接拿着些题目考试。书中的参考答案也不能视为
放之四海而皆准。


其他题目:

1、如何使用和安排全局变量
2、如何安排项目中的各种文件(.c,.cpp,.h,makefile)
3、#define DIMOF(x) (sizeof(x)/sizeof(x[0])) 可以用来做什么

jvcit 2003-06-22
  • 打赏
  • 举报
回复
up
Cline 2003-06-20
  • 打赏
  • 举报
回复
class CTest
{
public int GetData()
{
static int nData=10;
nData++;
return nData;
}
};


.....


CTest A,*pB;
printf("A-Data=%d,B-Data=%d\n",A.GetData(),pB->GetData());


Error can occur,why?
dhbo 2003-06-20
  • 打赏
  • 举报
回复
class CTest
{
public int GetData()
{
static int nData=10;
nData++;
return nData;
}
};


.....


CTest A,B;
printf("A-Data=%d,B-Data=%d\n",A.GetData(),B.GetData());

output is :12,11
为什么是12,11?
是不是先调用B.GetData(),然后调用A.GetData(),也就是说A,B出栈的时候调了个顺序?
plxmbh 2003-06-20
  • 打赏
  • 举报
回复
占位
如果有答案更好了
shadesert 2003-06-20
  • 打赏
  • 举报
回复
上面的函数是供VB调用的,那么这个extern "C" 该怎么解释呢?
是不是如上所述:“4、在C++ 程序中调用被 C编译器编译后的函数。。。。。。”
shadesert 2003-06-19
  • 打赏
  • 举报
回复
extern "C" BOOL PASCAL EXPORT GetDataInPick()
{

}
哪位能帮我解释一下第一行 GetDataInPick()前的那些修饰符的含义吗?
unrise 2003-06-19
  • 打赏
  • 举报
回复
先mark,回头研究...
shadesert 2003-06-19
  • 打赏
  • 举报
回复
由于以前没有用VC开发过什么东西,就是搞搞VB,ASP,数据库之类的东西。现在手头上有一个VC写的DLL要去熟悉并Update,是在VB里调用的。所以现在要恶补VC的知识,否则完不成任务,所以有很多问题希望帮助,可另开贴送分!
shadesert 2003-06-19
  • 打赏
  • 举报
回复
还有int main(int argc, char* argv[])里面的参数具体怎么解释,我真的是不懂,请指教!
shadesert 2003-06-19
  • 打赏
  • 举报
回复
希望common_man(谢安王导)的几个问题有正确答案出来,我想学习。
red-fly 2003-06-19
  • 打赏
  • 举报
回复
class CTest
{
public int GetData()
{
static int nData=10;
nData++;
return nData;
}
};


.....


CTest A,B;
printf("A-Data=%d,B-Data=%d\n",A.GetData(),B.GetData());

output is :12,11
我刚才测试了一下,是先12后11
Cline 2003-06-18
  • 打赏
  • 举报
回复
the output is :A-Data=11,B-Data=12
red-fly 2003-06-18
  • 打赏
  • 举报
回复
class CTest
{
public int GetData()
{
static int nData=10;
nData++;
return nData;
}
};


.....


CTest A,B;
printf("A-Data=%d,B-Data=%d\n",A.GetData(),B.GetData());

the output is :A-Data=11,B-Data=11
因为A和B是两个不同的实例,所以两个和成员是不相关的,这样正确吗?
加载更多回复(30)

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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