C语言字符串数组的问题
#include<stdio.h>intmain(){inti=0,j;chara[100];charb[6]={'a','e','i','o','u'};scanf("...
#include <stdio.h>
int main()
{
int i=0,j;
char a[100];
char b[6]={'a','e','i','o','u'};
scanf("%s",a);
for(i=0; a[i] != '\0'; i++)
for( j=0; j<6; j++)
{
if(a[i]=b[j])
printf("%s",a[i]);
}
return 0;
}
现在就是数组a中自己的输入的东西,如有包含有“aeiou”,那么就输出来。可是程序错误,为什么呀? 展开
int main()
{
int i=0,j;
char a[100];
char b[6]={'a','e','i','o','u'};
scanf("%s",a);
for(i=0; a[i] != '\0'; i++)
for( j=0; j<6; j++)
{
if(a[i]=b[j])
printf("%s",a[i]);
}
return 0;
}
现在就是数组a中自己的输入的东西,如有包含有“aeiou”,那么就输出来。可是程序错误,为什么呀? 展开
3个回答
展开全部
每行结尾的 \ 仅仅是为了连接字符串使用的,
如果一个字符串过长,写在一行比较不合适,
就在该行结尾处加上一个反斜杠 \ 就可以在下边的行继续写这个字符串,
如
"123456789abcdefg"
和
"123456789\
abcdefg"
这两种写法是同样的。
而根据TEXT函数的特性
TEXT ("Text Files (*.TXT)\0*.txt\0") \
TEXT ("ASCII Files (*.ASC)\0*.asc\0") \
TEXT ("All Files (*.*)\0*.*\0\0")
又等同于
TEXT ("Text Files (*.TXT)\0*.txt\0ASCII Files (*.ASC)\0*.asc\0All Files (*.*)\0*.*\0\0")
所以你上边写的就等同于
static TCHAR szFilter[]=TEXT ("Text Files (*.TXT)\0*.txt\0ASCII Files (*.ASC)\0*.asc\0All Files (*.*)\0*.*\0\0") ;
确实是一个字符数组,对于字符串数组的说法,我也不敢苟同。
如果一个字符串过长,写在一行比较不合适,
就在该行结尾处加上一个反斜杠 \ 就可以在下边的行继续写这个字符串,
如
"123456789abcdefg"
和
"123456789\
abcdefg"
这两种写法是同样的。
而根据TEXT函数的特性
TEXT ("Text Files (*.TXT)\0*.txt\0") \
TEXT ("ASCII Files (*.ASC)\0*.asc\0") \
TEXT ("All Files (*.*)\0*.*\0\0")
又等同于
TEXT ("Text Files (*.TXT)\0*.txt\0ASCII Files (*.ASC)\0*.asc\0All Files (*.*)\0*.*\0\0")
所以你上边写的就等同于
static TCHAR szFilter[]=TEXT ("Text Files (*.TXT)\0*.txt\0ASCII Files (*.ASC)\0*.asc\0All Files (*.*)\0*.*\0\0") ;
确实是一个字符数组,对于字符串数组的说法,我也不敢苟同。
展开全部
#include <stdio.h>
int main()
{
int i=0,j;
char a[100];
char b[6]={'a','e','i','o','u'};
scanf("%s",a);
for(i=0; a[i] != '\0'; i++)
for( j=0; j<5; j++) //修改:1:下标从0~4,共5个
{
if(a[i]==b[j]) //修改2:=是赋值符号,==才是比较符号
printf("%c",a[i]); //修改3:a[i]对应数组元素,单个元素的类型为char,所以需要用%c
}
return 0;
}
int main()
{
int i=0,j;
char a[100];
char b[6]={'a','e','i','o','u'};
scanf("%s",a);
for(i=0; a[i] != '\0'; i++)
for( j=0; j<5; j++) //修改:1:下标从0~4,共5个
{
if(a[i]==b[j]) //修改2:=是赋值符号,==才是比较符号
printf("%c",a[i]); //修改3:a[i]对应数组元素,单个元素的类型为char,所以需要用%c
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(a[i]==b[j]) 是判定不是赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询