我到底是错在哪里?

gostlove 2012-09-20 12:04:07
刚看书运行一个程序,但是始终找不到错误,求答案,求解答
#include "Stdio.h"
#include "String.h" /*提供strlen()函数的原型*/
#define DENSITY 62.4 /*人的密度(单位是:英镑/每立方英尺)*/?


int main()
{
float weight,volume;
int size,letters;
char name[40]; /*name是一个有40个字符的数组*/


printf("Hi!What's your first name?\n");
scanf("%s",name);
printf("%s,what's your weight in pounds?\n",name);
scanf("%f",&weight);
size = sizeof name;
letters = strlen(name);
volume = weight / DENSITY;


printf("Well,%s,your volume is %2.2f cubic feet.\n",
name,volume);
printf("Also,your first name has %d letters,\n",letters);
printf("and we have %d bytes to store it in.\n",size);

getch();
return 0;
}

在volume = weight / DENSITY;处就一直说我错误,说非法字符在函数中,但是仔细看了下,没有非法字符啊,求解答啊!!!!!!
...全文
153 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Topseten 2012-09-20
  • 打赏
  • 举报
回复
#define DENSITY 62.4 /*人的密度(单位是:英镑/每立方英尺)*/?

这里多了一个问号
Topseten 2012-09-20
  • 打赏
  • 举报
回复
你在#define处多了一个问号~~
去掉即可成功
编译器在预处理的时候会去掉注释
那么 你的 DENSITY 就相当于 62.4 ?
gostlove 2012-09-20
  • 打赏
  • 举报
回复
问题已解决,谢谢大家的回答~
tcm86079572 2012-09-20
  • 打赏
  • 举报
回复
3L已然无敌!
xspace_time 2012-09-20
  • 打赏
  • 举报
回复
从volume = weight / DENSITY;

推理到

#define DENSITY 62.4 /*人的密度(单位是:英镑/每立方英尺)*/?

推理到 ?

因此是?的问题

因为#define DENSITY 62.4编译后就没了 编译器直接把volume = weight / DENSITY;替换为

volume = weight / 62.4;
rocktyt 2012-09-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C/C++ code
scanf("%s",name);

这里name前还少一个‘&’
[code=C/C++应该是]size = sizeof(name);[/code]
[/Quote]你说的地方都不是错误,回去翻翻书吧
淼哥 2012-09-20
  • 打赏
  • 举报
回复
  scanf("%s",name);

这里name前还少一个‘&’
[code=C/C++应该是]size = sizeof(name);[/code]

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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