【发布时间】:2012-10-25 04:11:06
【问题描述】:
我的教授给了我们一些代码,并说它应该能够编译,但我遇到了各种各样的错误,我不知道出了什么问题,因为我对 c 没有任何经验。它是一个汇编语言类,我们应该编写汇编代码来匹配 c 代码正在做的事情。他告诉我们用 c 运行程序来感受一下。
#include <stdio.h>
#define SIZE 40
main()
{
int v[SIZE];
register int gap, i, j, temp;
/* Initialize array to random positive integers mod 256 */
for (i = 0; i < SIZE; i++)
v[i] = rand() & 0xFF;
/* Display the unsorted array */
for (i = 0; i < SIZE; i++)
printf(“v[%-d] = %-d\n”, i, v[i]);
/* Sort the array using a shell sort */
for (gap = SIZE / 2; gap > 0; gap /= 2) {
for (i = gap; i < SIZE; i++) {
for (j = i - gap; j >= 0 && v[j] > v[j + gap]; j -= gap) {
/* Exchange out of order items */
temp = v[j];
v[j] = v[j + gap];
v[j + gap] = temp;
}
}
}
/* Display the sorted array */
for (i = 0; i < SIZE; i++)
printf(“v[%-d] = %-d\n”, i, v[i]);
}
我得到的错误是第 15 行和第 31 行的错误,所以每一行都有一个 printf。
As3.c: In function ’main’:
As3.c:15: error: stray ’\223’ in program
As3.c:15: error: expected expression before ’%’ token
As3.c:15: error: expected expression before ’%’ token
As3.c:15: error: stray ’\’ in program
As3.c:15: error: stray ’\224’ in program
As3.c:31:error: stray ’\223’ in program
As3.c:31:error: expected expression before ’%’ token
As3.c:31:error: expected expression before ’%’ token
As3.c:31:error: stray ’\’ in program
As3.c:31:error: stray ’\224’ in program
任何帮助都会受到重视,我相信这一定很简单,但我在 c 方面是个菜鸟。
【问题讨论】:
-
这些杂散字符强烈暗示复制/粘贴错误或损坏。
-
您是从 MS Word 或类似软件中复制粘贴的吗? “魔术引号”正在打破它的一件事。
-
是的,他在 ms word 文件中给了我们代码,我会尝试在记事本中再次重写代码。
-
真是个 n00b。 (就是你的教授。)
-
你需要告诉你的教授 MS WORD 不适用于代码。是的,用粗体大写。这那不好。不仅使用像 MS word 这样的应用程序完全不适合代码(默认情况下非等宽,没有自动缩进,没有语法突出显示),而且它还 breaks 代码,因为它使用印刷引号等. 而不是编程语言使用的纯 ASCII 码。