C语言,想问一下怎么样才能输入“END”以后直接停止程序呢?

int  Input_data(struct GOODS goods[], int nInputtedNum) {
	int result;
	while (1) {
		printf("请输入数据(输入END 1 1结束入库),格式如下\n");
		printf("货物名 产品的数量 价格\n");
		scanf("%s", goods[nInputtedNum].name);
      scanf("%d", &goods[nInputtedNum].num);
		scanf("%f", &goods[nInputtedNum].price);
		//如果用户在一行的开始输入了END,则表示用户要结束入库操作
		if (!strcmp("END", goods[nInputtedNum].name))
			break;
		/*以下为处理scanf返回值的例子:即未成功输入一个数,则结束输入
		if (1 != scanf("%f", &goods[nInputtedNum].price))
			break;*/
		nInputtedNum++; //已完成一数据输入,库存数+1
	}
	return nInputtedNum;
}

现在的这个程序输入完END后还需要再输入2个数字才能结束程序,有什么办法能输入END后直接结束输入程序呢?

scanf("%s", goods[nInputtedNum].name);

这一句下面加一句

if(strcmp( goods[nInputtedNum].name,"END")==0) break;

如有帮助,请采纳一下,谢谢。

你把这个提到while的最前面 

if (!strcmp("END", goods[nInputtedNum].name))



break;