【发布时间】:2016-07-22 19:34:37
【问题描述】:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 19
int main()
{
char name[SIZE];
int x;
int i;
printf("Enter your name: ");
scanf("%s", &name);
for (i = 1; name[i] != '\0'; i++);
printf("Are you sure your name is: ");
for (x = i - 1; x >= 0; x--)
printf("%c", name[x]);
}
在第 9 行,为什么我们需要在 For 语句之后有一个分号?如果没有分号,程序会打印“你确定你的名字是:你确定你的名字是:”。
编辑:人们不喜欢重复的问题,所以我在这里有所不同 - 你认为问题是什么,为什么它不起作用???? [已解决]
【问题讨论】:
-
不。这是一个错误。
-
不清楚你的期望是什么。但是,for 后面不需要分号;通过删除分号,您可以打印两次消息,因为 NULL 字符位于数组的第三个元素(在您描述的情况下)。你想完成什么?
-
这不是错误。用于计算字符串长度为
i。 -
是的,这显然是故意的。缩进是错误的,使用while循环会更干净,没有人会怀疑它是否是一个错误。
-
哦...是的,我的错。循环应该是空的,但我假设它在一起后的 printf 。我想我也可以完成 for 循环,但将 {} 大括号留空。