首先,谢谢你的帮助!
我是C语言的新手(以及一般的编程),我正在尝试编写一个用户输入数据点的程序.然后将数据点保存在一个数组中,然后可以对它们进行操作.
我被卡住的地方:我希望用户能够输入(几乎)任意数量的点,然后使用各种"关键字"来表示数据输入的结束.在这种情况下,用户将键入"完成".
这是我到目前为止所拥有的:
#include <stdio.h>
#include <string.h>
int main(void) {
printf("\n Welcome! \n\n Please enter each data point. Enter 'done' when finished.\n\n");
double data[1048];
int i, count;
for (i = 1; ;i++) {
printf("Data[%i]: ", i);
scanf("%lf", &data[i]);
if (data[i] == 'done') {
break;
} else {
count++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过'返回1;' '打破;'.每次,程序运行良好,直到输入"关键字",此时我得到:
Data[8]: Data[9]: ... Data[1120]: Data[1Segmentation fault 11
Run Code Online (Sandbox Code Playgroud)
它唯一有效的时间是当用户输入特定数字(如-1或0)时它会中断.但这对用户来说并不是很有效,因为他们可能必须将这些数字作为数据点输入.
对不起,很长的帖子,但我感谢你的帮助!