class Home extends React.Component {
render() {
return (
<a onClick={() => { this.props.onCategoryChanged(1) }}>Change category to 1</a>
)
}
}
export default graphql(CATEGORY_QUERY, {
options: ({ category }) => ({
variables: { category }
})
})(Home)
如何通过替换c中的另一个字符串来返回字符串?我无法使用函数替换字符串
答案 0 :(得分:0)
您要做的是将s1
中字符的值复制到s
变量中。不只是设置一个等于另一个。使用strcpy
或循环浏览s1
中的字符,然后将其直接复制到s
中的正确位置。
https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm
这对我有用,而不使用strcpy
:
#include<stdio.h>
void str(char *s) {
char s1[100];
printf("another string to replace:");
scanf("%s",s1);
// not real safe but we know s and s1 have 100 characters.
for(int i = 0; i < 100; i++) {
s[i] = s1[i];
}
}
int main() {
char s[100],s2[100];
scanf("%s",s);
str(s);
printf("%s",s);
}
答案 1 :(得分:0)
关于你的代码有几点要说。
您无法使用=
返回类型错误。必须是char*
scanf
格式字符串错误。使用%s
表示字符串。
您在函数中不需要额外的数组。只需scanf
直接进入s
永远不要scanf("%s", ...
始终限制scanf("%99s", ...
类似的东西:
char* str(char *s) {
printf("another string to replace:");
scanf("%99s",s);
return s;
}
void main() {
char s[100],s2[100];
scanf("%99s",s);
strcpy(s2, str(s));
printf("%s",s);
}
但是,我不确定您希望代码执行什么操作。现在,s
和s2
只是以相同的字符串结尾。
如果您只想要一个可以将新值读入s
的函数,可以这样做:
void str(char *s) {
printf("another string to replace:");
scanf("%99s",s);
}
void main() {
char s[100];
scanf("%99s",s);
str(s);
printf("%s",s);
}