1、改错:
(a)、void test1()
{
char string[10]; // 改为string[11]
char *str1 = "0123456789";
strcpy(string, str1);
}
(b)、void test2()
{
char string[10], str1[10]; // string[11] str1[11]
for (i=0; i<10; i++)
{
str1[i] = 'A';
} // str[10] = 0;
strcpy(string, str1);
}
(c)、void test3(char *str)
{
char string[10];
if (strlen(str1)<=10) // strlen(str1)<10
{
strcpy(string, str1);
}
}
(a)、void test1()
{
char string[10]; // 改为string[11]
char *str1 = "0123456789";
strcpy(string, str1);
}
(b)、void test2()
{
char string[10], str1[10]; // string[11] str1[11]
for (i=0; i<10; i++)
{
str1[i] = 'A';
} // str[10] = 0;
strcpy(string, str1);
}
(c)、void test3(char *str)
{
char string[10];
if (strlen(str1)<=10) // strlen(str1)<10
{
strcpy(string, str1);
}
}
2、找赛手:2个羽毛球队比赛,各出3人,每个人只比一次。甲队为A,B,C三人,乙队为X,Y,Z三人。有人打听比赛名单,A说他不和X比,C说不和X,Z比。编程找出三队赛手的名单.
#include <stdio.h>
int main(void)
{
char A = 0 , B = 0 ,C = 0;
int i = 0;
char arr[3]={'X','Y','Z'};
for( i=0 ; i<3 ; i++ )
{
if( arr[i] != 'X' && arr[i] != 'Y')
C = arr[i];
if( arr[i] != 'X' && arr[i] != C)
A = arr[i];
if( arr[i] != A && arr[i] != C)
B = arr[i];
}
printf("A的对手是%c\nB的对手是%c\nC的对手是%c\n",A,B,C);
return 0;
}