我想转换我的char[]
数组到char*
C语言中的字符串。这就是我所做的。但我无法找到解决方案。请帮我。这是我的代码:
#include <stdio.h>
void fnk(char *chr){
printf("%s",chr);
}
int main(){
char charfoo[100];
int i=50;
gets(charfoo);
for(int j=0;j<i;j++){
fnk((char*) charfoo[j]);
}
}
最佳答案
我认为你的意思是以下内容
fnk( &charfoo[i]);
考虑到最好按以下方式编写循环
for( int j=0; charfoo[j]; j++ ) {
fnk( &charfoo[j]);
}
此外,函数 gets
也不安全,C 标准不再支持。而是使用函数 fgets
例如
fgets( charfoo, sizeof( charfoo ), stdin );
在这种情况下,循环可能看起来像
for( int j=0; charfoo[j] != '\0' && charfoo[j] != '\n'; j++ ) {
fnk( &charfoo[j]);
}
如果你想在函数中只输出一个字符,那么函数应该这样定义
void fnk(char chr){
printf("%c",chr);
}
并称其为
fnk( charfoo[j]);
关于c - 如何将 char[] 数组转换为 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40576533/