我想在C到做一个简单的程序,将在while循环得到10串的用户输入,并将其储存到文件food.txt。但是,每当我尝试再次将用户输入存储到变量inputFood时,就会出现问题。它也发送错误'strcpy(& allFood,inputFood);'线程1:信号SIGABRT。任何人都可以帮忙吗?多输入一个字符串
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main() {
int i = 0;
printf("Hello World!\n");
char * inputFood;
char allFood = {0};
FILE * fPointer;
fPointer = fopen("/Users/Antonio/Desktop/food.txt", "a");
while (i < 10){
i = i + 1;
scanf("%s", inputFood);
strcpy(&allFood, inputFood);
}
fputs(&allFood, fPointer);
fclose(fPointer);
}
strcpy的工作正常.. – Haris 2014-10-08 09:33:18
'的scanf( “%S”,inputFood);'是含义'的scanf( “%S”,inputFood)相同;'。 – BLUEPIXY 2014-10-08 09:33:27
@BLUEPIXY意思相同,但实际上避免在标准输入中留下'\ n'是至关重要的。我推荐使用fgets或其他代替scanf – Igor 2014-10-08 09:36:14