1、改錯:
思路:數組越界問題
(a)、
void test1()
{
char string[10];
char *str1 = "0123456789";//超出數組範圍了,10個外加上一個\0,11個
strcpy(string, str1);
}
(b)、
void test2()
{
char string[10], str1[10];
for (i=0; i<10; i++)//int i;
{
str1[i] = 'A';
}
strcpy(string, str1);//strcpy此時不能用於數組之間的賦值
}
(c)、
void test3(char *str)//char *str1
{
char string[10];
if (strlen(str1)<=10)
{
strcpy(string, str1);
}
}
2、找賽手:2個羽毛球隊比賽,各出3人,每個人只比一次。甲隊爲A,B,C三人,乙隊爲X,Y,Z三人。有人打聽比賽名單,A說他不和X比,C說不和X,Z比。編程找出三隊賽手的名單.
思路:按照條件限制就行
百度得:
#include <stdio.h>
#define a d[0]
#define b d[1]
#define c d[2]
int main(void)
{
char d[]="zyx",temp;
int i=0;
while(!(a!='x'&&c!='x'&&c!='z'))
{
i++;
if(i%2){temp=a;a=b;b=temp;}
if(i%3){temp=b;b=c;c=temp;}
else{temp=a;a=c;c=temp;}
puts(d);
}
printf("a=%c b=%c c=%c\n",a,b,c);
return 0;
}
3、用C語言實現字符串中子字符串的替換, 成功返回0,失敗返回-1.例如:“ABCDEFG”這個字符串,把其中”BCD”替換成“9527”這個子串,結果變成:“A9527EFG”
函數原型:
int str_replace(char str, char replaced_str, char *new_str)
#include<stdio.h>
#include <string.h>
int str_replace(char *str, char * replaced_str, char *new_str)
{
}
int main(void)
{
return 0;
}