2011-03-07 88 views

回答

3

你为什么不只是它的下标...

main() { 

    char *str = "hello"; 

    printf("%c", str[0]); // h 


    return 0; 
} 

CodePad

You can also use array syntax定义字符串char str[] = "hello"

更新

#include <string.h> 
#include <stdio.h> 

main() { 

    char str[] = "hello"; 
    int i; 
    int strLength = strlen(str); 

    for (i = 0; i < strLength; i++) { 

    printf("[%c]", str[i]); 

    } 


    return 0; 
} 

输出

[h][e][l][l][o] 

CodePad

+0

'#import'? ??对于'printf'原型,您还需要'#include '。 – pmg 2011-03-07 09:22:03

+0

@pmg哎呦,自从我用C以来已经有一段时间了。将会修改,谢谢。 – alex 2011-03-07 12:59:09

0

考虑使用函数memcpy。

2

C中的字符串实际上是一个字符数组,因此您不必执行任何操作。

检索它像这样


char *string = "abcdef"; 
for (int i = 0; i < 7; ++i) { 
    printf("%c\n", string[i]); 
} 
+0

有没有C++代码在这里,请不要发布C++代码作为一个答案。 – 2011-03-07 06:26:11

+0

@Jim我更新了答案。对于那个很抱歉。 – Angelo 2011-03-07 12:30:03

0

试试这个:

char variable[] = "abc"; 
0

在C你没有为字符串的任何特定类型。字符串是一个char *并指向字符串的开头。每个字符串都以空字符结尾。所以,你可以直接使用你的字符串(字符*)变量作为数组,但停止一个字符短了的strlen的

0

C中的一个串本身是一个阵列使用以下命令:

焦炭yourarray [] =“ asldkjsl“;

每个字符是一个数组,你可以访问它们作为yourarray [0],yourarray [1]

相关问题