c语言如何表示字符串? 10
在C语言中如何接收输入的字符串(内容不定),再将这个字符串作为一个函数的参数?chars[81];gets(s);if(access(????,0)==0)printf(...
在C语言中如何接收输入的字符串(内容不定),再将这个字符串作为一个函数的参数?
char s[81];
gets(s);
if(access(????,0) == 0)
printf("cunzai");
else
printf("bu cunzai");
我想输入一个文件的路径,然后判断该文件是否存在,????处该添啥?
我试了如果直接写上文件路径是可以的,但用别的就不行了。 展开
char s[81];
gets(s);
if(access(????,0) == 0)
printf("cunzai");
else
printf("bu cunzai");
我想输入一个文件的路径,然后判断该文件是否存在,????处该添啥?
我试了如果直接写上文件路径是可以的,但用别的就不行了。 展开
3个回答
展开全部
C语言中并没有字符串这个类型,表示字符串时,需要使用字符数组,或字符指针。即char型数组,或char *指针。
如
char str[100] = "hello world";
就是一种字符串的表示方法。
另外,在C语言中,约定用字符数组表示字符串时,以'\0'为字符串结尾,即ascii码0。
如
char str[100] = "hello world";
就是一种字符串的表示方法。
另外,在C语言中,约定用字符数组表示字符串时,以'\0'为字符串结尾,即ascii码0。
2011-07-09
展开全部
//举例说明吧!
#include<stdio.h>
#include <string.h>
#include <ctype.h>
int Palindrome(char *a)
{
int i,l;
l=strlen(a);
for(i=0;i<l/2;i++)
if(toupper(a[i])!=toupper(a[l-1-i])) return 0;
return 1;
}
void main()
{
char s[81];
gets(s); //这就是输入!这就是输入!这就是输入!
if(Palindrome(s)) //这个字符串作为一个函数的参数!
printf("Palindrome.\n");
else
printf("not Palindrome.\n");
}
#include<stdio.h>
#include <string.h>
#include <ctype.h>
int Palindrome(char *a)
{
int i,l;
l=strlen(a);
for(i=0;i<l/2;i++)
if(toupper(a[i])!=toupper(a[l-1-i])) return 0;
return 1;
}
void main()
{
char s[81];
gets(s); //这就是输入!这就是输入!这就是输入!
if(Palindrome(s)) //这个字符串作为一个函数的参数!
printf("Palindrome.\n");
else
printf("not Palindrome.\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、可以固定字符数组接收,a[100]代表最多能接收99字符(末尾用\0结束)
可以用getchar,scanf("%c",a[i]),gets(a)等读入
2、如果字符串非常大,可以动态创建
int M=100;
char *p;
p=(char*)malloc(sizeof(char)*M);
当用getchar()读入时候,如果超过M,可以用realloc(p,sizeof(char)*M*x)扩充,x为M的整数倍
或者用链表一个一个字符链接起来
做函数参数,可以直接用数组名传递,要注意函数会改变数组元素值
void fun(char *a)
可以用getchar,scanf("%c",a[i]),gets(a)等读入
2、如果字符串非常大,可以动态创建
int M=100;
char *p;
p=(char*)malloc(sizeof(char)*M);
当用getchar()读入时候,如果超过M,可以用realloc(p,sizeof(char)*M*x)扩充,x为M的整数倍
或者用链表一个一个字符链接起来
做函数参数,可以直接用数组名传递,要注意函数会改变数组元素值
void fun(char *a)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询