某大公司的笔试题,单单是看代码可以得出结果,但是写代码验证的时候老是通不过编译,细细一看,感觉题目有错,请指教。
题目如下:
7、请问运行main函数会有什么样的结果?
main()
{
string strSrc = "0123456789";
string strDest = "";
int nVar1;
float nVar2;
strDest = strSrc.Left(strSrc.GetLength() - 2);
strDest = strDest.Mid(0,4);
nVar1 = atoi(strDest);
fVar2 = atof(strDest);
printf("%d\n",nVar1);
printf("%.3f\n",fVar2);
}
c语言中string不是类来的吗。。尝试过用字符数组代替但是提示错误:在非结构或联合中请求成员Left、GetLength、Mid。。 C 嵌入式软件工程师
[解决办法]
C语言中没有string类
在C++中才有
[解决办法]
这个编译不过,就是表达一下语意
[解决办法]
看这函数的调用,应该是MFC的CString才对,没想到还有大公司笔试MFC的……
不太记得了,帮你搜了一下,看看应该有帮助:
http://hi.baidu.com/drunkdream/item/d6c2fb0c5ea84ccf75cd3cd9
[解决办法]
有问题啊,string是c++类,c++中main()可以没有返回值的吗?
[解决办法]
而且没见过 c++ string 类有大写字母开头的成员函数(Left,Mid,GetLength)。
[解决办法]
面试题不要纠结于能不能编译过,只要能说出结果就可以了。
[解决办法]
这是MFC里的CString类型的方法.
之前还真没看到过。。。哎~~查了MSDN才知道的