1. 程式人生 > 其它 >此處的i為何還要重新定義,不定義就出錯,求大佬指點

此處的i為何還要重新定義,不定義就出錯,求大佬指點

技術標籤:c語言

全排列(有部分重複)

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#pragma warning(disable:4996)
char result[200][200];
int count = 0;
char x[200];
int i = 0;
void add()
{
	
	for (i = 0; i < count; i++)
	{
		if (strcmp(result[i], x) == 0) break;
	}
	if (count == 0 || count == i)
{ strcpy(result[count++], x); } } void swap(char arr[], int m, int i) { int temp = 0; temp = arr[m]; arr[m] = arr[i]; arr[i] = temp; } void pailie(char arr[], int m, int n) { int i;//? if (m == n) { add(); } else { for (i = m; i <= n; i++) { swap(arr, m, i); pailie(arr, m +
1, n); swap(arr, m, i); } } } int main() { gets_s(x); pailie(x, 0, strlen(x)-1); for (i = 0; i <count; i++) { printf("%s", result[i]); } return 0; }

在這裡插入圖片描述
此處的i為何還要重新定義,不定義就出錯