我有一个非常简单的程序来打印字符的字符串,但由于某种原因,它不工作:打印字符串中的所有字符用C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void * print_chars(char *process_string) {
int i;
int string_len;
string_len = strlen(process_string);
printf("String is %s, and its length is %d", process_string, string_len);
for(i = 0; i < string_len; i++) {
printf(process_string[i]);
}
printf("\n");
}
int main(void) {
char *process_string;
process_string = "This is the parent process.";
print_chars(process_string);
return 0;
}
当我在Netbeans中运行它,我得到的以下:
RUN FAILED (exit value 1, total time: 98ms)
如果我删除线
printf(process_string[i]);
程序运行,但没有打印到控制台(明显)。
任何想法我在这里失踪?
通过将C++标记放在那里,当有人告诉你只使用'std :: string'和'std :: string :: length'时,你应该接受它。 – chris
您是否正在关注您尝试编译时得到的警告? – antlersoft
为什么你的'print_chars'函数返回一个'void *'?并打印字符串,使用'printf(“%s”,process_string);' – Praetorian