我试图实现一个字符串解析代码,我需要给定字符串的子字符串,所以我执行以下操作:
头文件是:test.h
#ifndef header_file
#define header_file
#include<stdio.h>
#include<string.h>
int increment(char **);
#endif
源文件:main.c test.c
测试.c:
案例1:test.c
#include“测试.h”
整数增量(字符**字符串){
char *temp = *(string); int value; if(temp != NULL){ *(string) = ++temp; value = 1; } else{ value = 0; } return value;
}
案例2:test.c
#include“测试.h”
整数增量(字符**字符串){
char *temp = *(string); int value; if(*temp != '\0'){ *(string) = ++temp; value = 1; } else{ value = 0; } return value;
}
主.c:
#include"test.h"
int main()
{
char str[30] = "I have done form here comes.";
char strs[50];
char *p = str;
memset(strs, 0, 50);
while(increment(&p))
{
strcpy(strs,p);
printf("Originally the string is : %s\n", str);
printf("The modified string is : %s\n", strs);
memset(strs, 0, 50);
}
return 0;
}
生成文件是:
#This is the makefile.
all : run main.o test.o
run : main.o test.o
$(CC) -g $^ -o $@
%.o : %.c
$(CC) -g -c $^ -o $@
.PHONY : clean
clean :
-rm -f *.o run
但是在 test.c 的第一种情况下,我试图遍历子字符串,但它给出了一些垃圾结果。第二种情况很好。
test.c 案例 1 中出了什么问题。
谢谢!!!!!!!!!!!!