【发布时间】:2020-05-23 16:53:05
【问题描述】:
我正在执行 C 语言的指针赋值。任务内容是输入100个字符以内的两个字符串,第一行包含相同或不同的字符串,第二行在第一个字符串的空格处加下划线。我先完成了代码,比较两个字符串的代码运行良好,但是将 _ 添加到第一个字符串的代码不会打印结果。此任务的限制是不能使用string.h,并且在输入两个字符串的代码中使用gets。因为strcmp应该用来比较两个字符串,而string.h不能用,所以我为比较两个字符串的函数创建了strcmp的原型。
这是我的代码:
#include <stdio.h>
int comparison(const char* one, const char* two) {
for (; (*one != '\0') || (*two != '\0'); one++, two++) {
if (*one != *two) {
printf("two strings are different.");
return -1;
}
}
printf("two strings are same.");
return 0;
}
void addUnderBar(char* str) {
while (*str) {
if (*str == ' ') {
*str = '_';
}
++str;
}
}
int main(void) {
char str1[100];
char str2[100];
printf("please input your first string");
gets_s(str1, sizeof(str1));
printf("please input your second string");
gets_s(str2, sizeof(str2));
comparison(str1, str2);
addUnderBar(str1);
}
【问题讨论】:
-
似乎很适合我