can';找不到错误,简单但卡住了
有一个奇怪的问题,我已经看了一百万遍了,但我觉得我的脑袋有点乱,只是一个简单的问题,我在head First C书中遵循,当我试图编译和运行时,得到一个标记或“(“{”之前的必需错误。找不到哪里 我想是的,有人告诉我问题出在哪里吗?我知道这很简单,但我的大脑在搞乱我 代码:can';找不到错误,简单但卡住了,c,C,有一个奇怪的问题,我已经看了一百万遍了,但我觉得我的脑袋有点乱,只是一个简单的问题,我在head First C书中遵循,当我试图编译和运行时,得到一个标记或“(“{”之前的必需错误。找不到哪里 我想是的,有人告诉我问题出在哪里吗?我知道这很简单,但我的大脑在搞乱我 代码: #include <stdio.h> #include <stdlib.h> void go_south_east(int lat, int lon); { lat = lat - 1;
#include <stdio.h>
#include <stdlib.h>
void go_south_east(int lat, int lon);
{
lat = lat - 1;
lon = lon + 1;
}
int main()
{
int latitude = 32;
int longitude = -64;
go_south_east(latitude, longitude);
printf("Avast! Now at: [%i, %i]\n", latitude, longitude);
return 0;
}
#包括
#包括
南部和东部(内陆和内陆);
{
lat=lat-1;
lon=lon+1;
}
int main()
{
国际纬度=32;
int经度=-64;
往南往东(纬度、经度);
printf(“Avast!现在位于:[%i,%i]\n”,纬度,经度);
返回0;
}
是的,我知道有一个问题,它不会指向正确的位置,并且一旦运行,值也不会改变,但这只是想法,学习指针,这是第一个任务,但我无法编译这篇文章:(
谢谢你们,你们是最棒的!你们还有额外的
;
void go_south_east(int lat, int lon);
^ remove
应该是:
void go_south_east(int lat, int lon)
{ // ^ removed
lat = lat - 1;
lon = lon + 1;
}
C仍然是一种传递值语言。如果您希望函数能够修改其参数,则必须向其传递指针:
void foo(int *p)
{
++*p;
}
(还要注意++
增量运算符的使用,这样写增量和减量是惯用的,lat=lat-1;
被认为是多余的冗长。)
(当然,更不用说语法错误,它甚至不允许您的代码进行编译…代码中有两个问题: (一) 南部和东部(内陆和内陆); 从末尾的行上方删除分号 2) 您只将变量值传递给函数
对代码中存在的函数中的变量值所做的更改不会反映在调用函数中我一直希望这样(常见)编译器更清楚地解释了错误。@Jim我一直希望人们阅读错误消息并查看行号…读了我说的话吗?哈哈。我知道这段代码的改进,这就是我正在阅读的内容,我只是想知道我在这段代码中犯了什么错误,这只是本文的第一个练习“我是新来的:)@spergalerger我已经习惯了这些错误:)我不太清楚你的问题的某些部分是什么意思,不管怎样。:@spergalerger(但请随意接受格里耶什的回答,因为他首先发现了你的实际问题。)