c小问题~~

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:55:31
错误:
In function 'void substring(const char*, int, int)':
14: error: name lookup of 'i' changed for ISO 'for' scoping
14: note: (if you use '-fpermissive' G++ will accept your code)
In function 'int main()':
23: error: expected initializer before 'substring'

代码:
#include <stdio.h>
#include <conio.h>

int main (void)
{
char x[81];
void substring (const char source[], int start, int count,char result[]);

substring ( "abcdefghijklnmopqrstuvwxyz", 4, 5, x[81]);

printf( "%s\n", x);

getch();
return 0;

}

void substring (const char source[], int start, int count, char result[])
{
int i,n;

for ( i = 0 ; i < count && source[start] != '\0'; ++i )
{
result[i] = source[start + i];
}

result[i+1] = '\0

改成这样 :

#include <stdio.h>

int
main (void)
{
char x[81];
void substring (const char source[], int start, int count, char result[]);
substring ("abcdefghijklnmopqrstuvwxyz", 4, 5, x);
printf ("%s\n", x);
return 0;
}

void
substring (const char source[], int start, int count, char result[])
{
int i;
for (i = 0; i < count && source[start] != '\0'; ++i)
{
result[i] = source[start + i];
}

result[i + 1] = '\0';
}