sizeof获得数组大小 应该怎样输出它,才能看到确切的数值?

bf120178381 2007-04-16 01:15:34
#include <iostream.h>
void main()
{
int a,b
char * pn[14]={"abc","efjh","ijkl"};//error : missing ';' before type 'char'
int num=sizeof(pn)/sizeof(char*);
a=sizeof(pn);
b=sizeof(char*);
cout<<num<<a<<b<<endl;
}
应该怎样修改??或给个提示...
...全文
331 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeeSeaBee 2007-04-16
  • 打赏
  • 举报
回复
你这个程序有问题
你声明char * pn[14]={"abc","efjh","ijkl"};
int num=sizeof(pn)/sizeof(char*);
这个num不是已经被你指定为14了,还计算这个干什么?

如果你是想计算pn这个指针数组里到底包含多少元素的话应该这样声明:
int a,b;
char * pn[]={"abc","efjh","ijkl"};
int num=sizeof(pn)/sizeof(char*);
a=sizeof(pn);
b=sizeof(char*);
cout<<num<<a<<b<<endl;

这样计算出来的num才是你想要得到的元素个数,而不是你事先声明的14个

//error LNK2001: unresolved external symbol _WinMain@16
检查一下link选项的设置问题,好像是subsystem设置的问题
bf120178381 2007-04-16
  • 打赏
  • 举报
回复
晕了,还是不行 啊,我哭........
freshui 2007-04-16
  • 打赏
  • 举报
回复
你这是控制台程序
重新建一个工程
选win32控制台程序
taodm 2007-04-16
  • 打赏
  • 举报
回复
呃,工程建错了,应该建控制台工程
bf120178381 2007-04-16
  • 打赏
  • 举报
回复
#include <iostream>


void main()
{
int a,b;
char * pn[14]={"abc","efjh","ijkl"};
int num=sizeof(pn)/sizeof(char*);
a=sizeof(pn);
b=sizeof(char*);
cout<<num<<a<<b<<endl;
}
// error LNK2001: unresolved external symbol _WinMain@16
//error LNK1120: 1 unresolved externals
freshui 2007-04-16
  • 打赏
  • 举报
回复
出错就把错误提示给贴出来
不然我们怎么知道你错哪了啊?
taodm 2007-04-16
  • 打赏
  • 举报
回复
什么链接错误啊?
bf120178381 2007-04-16
  • 打赏
  • 举报
回复
还是不行啊....
不过谢谢你..
freshui 2007-04-16
  • 打赏
  • 举报
回复
是链接错误 不是连线错误 呵呵
freshui 2007-04-16
  • 打赏
  • 举报
回复
你看错误提示啊~

把第一行改成:

#include <iostream>
using namespace std;
bf120178381 2007-04-16
  • 打赏
  • 举报
回复
#include <iostream.h>
void main()
{
int a,b;
char * pn[14]={"abc","efjh","ijkl"};//error : missing ';' before type 'char'
int num=sizeof(pn)/sizeof(char*);
a=sizeof(pn);
b=sizeof(char*);
cout<<num<<a<<b<<endl;
}
刚发错了
谢谢了...
是这样的 提示连线错误!!
bf120178381 2007-04-16
  • 打赏
  • 举报
回复
我试过了,少写了个,提示连线错误
freshui 2007-04-16
  • 打赏
  • 举报
回复
missing ';' before type 'char'
缺少';' 在'char'的前面

呵呵 这么明白的提示还看不懂?
freshui 2007-04-16
  • 打赏
  • 举报
回复
int a,b
后面的;呢?
不是提示你少了一个;了啊

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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