c - 如何解决“\”字符的问题?
问题描述
在代码中,我将每个字符转换为 '(' 如果它在整个字符串中只出现一次,或者转换为 ')' 如果它出现不止一次。我通过了几乎所有的测试,除了输入“$$\”的测试。它给出“缺少终止字符”错误。我看到问题是'\'字符。如果我添加第二个'\'很好,但是有没有一种快速的方法来修复它,或者我应该以某种方式将指针的大小加1,然后添加第二个'\'?
PS 输入是固定的。我无法改变它。
char text[] = "$$\";
char *res = malloc(strlen(text));
int counter = 0;
for(int i = 0; i < strlen(text); i++) {
for(int j = 0; j < strlen(text); j++) {
if( tolower(text[i]) == tolower(text[j]) ) {
counter++;
}
}
if(counter == 1) {
res[i] = '(';
} else {
res[i] = ')';
}
printf("%c", res[i]);
counter = 0;
}
return 0;
解决方案
由于我们已经提出了三元组,您也可以使用幻数代替(x86 解决方案):
#include <stdio.h>
int main(void)
{
char* text = (char*)&(int) <%6038564%>;
puts(text);
}
输出:
$$\
或者,如果您027022044
更喜欢这个幻数,那就选择那个。
(不是很认真的答案,但现在是星期五,所以......)
推荐阅读
- php - 执行 MySQL 查询时,charset 如何影响 php?
- python - 将列表中的字符串项匹配并替换为另一个列表中的字符串项
- python - 如何使用 selenium 和 python 点击动态 Twitter 关注按钮?
- gitlab - 使用 gitlab runner 挂载 hostpah 卷的正确方法是什么?
- mysql - XAMPP 上的 Symfony 4 - make:migration 不起作用,找不到驱动程序
- excel-formula - 如何根据多行中的条件对多个单元格中的值求和?
- google-apps-script - 将文件从网络上传到 Google 云端硬盘
- c - #define 中的换行符和单双引号
- python - 使用 slice 来迭代列表
- angular - 如何在 Input Angular Decorator 中使用 Observable?