根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)
存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<}
cout<
for( int i=0;i{
cout<}
根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<
评论
0
0
加载更多
错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}
记得前面加上include
str[i];(i就是你想要的字符所在位置)
#include
#include
int main(void)
{
char string[9]="abcdefg";
printf("%c\n",string[2]); // string[i]输入第i+1个字符
return 0;
}