学其他语言学什么是篇章语言学 豆瓣

C语言初学者问题~~`HELP~!/* & 请编写一个函数fun(char & *s),该函数的功能是把字符串中的内容逆置.
例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba. &
#include &
#include &
&string.h&
fun(char & *s)
int & i,j=strlen(s);
char & b,c[100];
for(i=0;i &j/2;i++,j--)
*(s+i)=c[j];
c[j]= '\0 ';
char & a[100];
& 请问错在什么地方啊`~~谢谢大家了```
回答1:#include
&string.h&
void fun(char *s)
int i,j=strlen(s);
char b,c[100];
for(i=0;i &strlen(s);i++,j--) // j--在变化
*(s+i)=c[j]; */
c[j] 初始根本就没值,你这里意思就是想把把输入进的字符串的值一个个的放在b里保存,然后逆序再赋给数组C吧 如果是这样,这句没必要.
c[j-1]=b; // 数组下标是从0开始的,最后的下标应该是数组长度-1.
j = strlen(s); // 这里应该是把C数组最后的元素赋 '\0 ',你那是把最初的赋 '\0 ',会什么都看不见的..
c[j]= '\0 ';
int main()
char a[100];C语言strlen()函数:返回字符串的长度_C语言中文网
&&/&&&&/&&&&/&&
头文件:#include &string.h&
strlen()函数用来计算字符串的长度,其原型为:
& & unsigned&int strlen (char *s);
【参数说明】s为指定的字符串。
strlen()用来计算指定的字符串s 的长度,不包括结束字符&\0&。
【返回值】返回字符串s 的字符数。
注意一下字符数组,例如
& & char str[100] = &http://see./cpp/u/biaozhunku/&;
定义了一个大小为100的字符数组,但是仅有开始的11个字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11。
如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了,例如
& & char str[6] = &abcxyz&;
strlen(str)的返回值将是不确定的。因为str的结尾不是0,strlen()会继续向后检索,直到遇到'\0',而这些区域的内容是不确定的。
注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止。而sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。
【函数示例】取得字符串 的长度。
#include&stdio.h&
#include&string.h&
int main()
char *str1 = &http://see./cpp/u/shipin/&;
char str2[100] = &http://see./cpp/u/shipin_liming/&;
char str3[5] = &12345&;
printf(&strlen(str1)=%d, sizeof(str1)=%d\n&, strlen(str1), sizeof(str1));
printf(&strlen(str2)=%d, sizeof(str2)=%d\n&, strlen(str2), sizeof(str2));
printf(&strlen(str3)=%d, sizeof(str3)=%d\n&, strlen(str3), sizeof(str3));
运行结果:
strlen(str1)=38, sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5
上面的运行结果,strlen(str1)=53显然不对,53是没有意义的。
推荐文章 TOP10欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 679 人关注过本帖
标题:编写程序,输入n个字符串,输出其中最长字符串的有效长度,要求自定义函数i ...
来 自:中国河南
等 级:新手上路
帖 子:98
结帖率:72%
&&已结贴√
&&问题点数:15&&回复次数:7&&&
编写程序,输入n个字符串,输出其中最长字符串的有效长度,要求自定义函数int max_len(*char s[],int n),这个该怎么做啊,我的这个代码错在
#include&stdio.h&
#include&string.h&
int m(char *s[],int n)
&for(i=1;i&n;i++){
&&if(strlen(s[i])&strlen(t)){
&&&t=s[i];
&return strlen(t);
&&& char *s[15];
&&& char k[10];&&&
&&& int n,i;
scanf(&%d&,&n);
for(i=0;i&n;++i)
scanf(&%s&,s);
printf(&%d&,m(*s[],n));
搜索更多相关主题的帖子:
来 自:长长久久
等 级:贵宾
威 望:13
帖 子:2940
专家分:8459
int t=stelen(s[0]);//if(strlen(s[i])&t)-----//t=strlen(s[i]);
这样改试试~~~
[code]/*由于最近没啥进展~我都不好意思往灌水贴灌水了~就是这样-----更~*/[/code]
等 级:贵宾
威 望:96
帖 子:3654
专家分:13446
char *s[15] 这只是指针而无地址,有名无实。
scanf(&%s&,s) 输入到哪里了?
来 自:中国河南
等 级:新手上路
帖 子:98
回复 2楼 九转星河
#include &stdio.h&
#include &string.h&
int max_len(char *s[],int n)
&for(i=1;i&n;i++){
&&if(strlen(s[i])&strlen(t)){
&&&t=s[i];
&return strlen(t);
void main()
&char s[10][80],*p[10];
&scanf(&%d&,&n)
&for(i=0;i&n;i++){
&&scanf(&%s&,s[i]);
&&&&&p[i]=s[i];
&printf(&length=%d\n&,max_len(p,n));
我用这个就做出来了,顺便问一下哈,这个论坛是不是你还有吹水佬等一些大佬创建的啊,每次基本上都是你们回答我的问题!谢谢啦!
刚学习小半年&&&,&&&努力成为专家
来 自:中国河南
等 级:新手上路
帖 子:98
回复 3楼 吹水佬
这个是什么意思啊?
刚学习小半年&&&,&&&努力成为专家
等 级:贵宾
威 望:96
帖 子:3654
专家分:13446
以下是引用天衣boy在 08:59:49的发言:
顺便问一下哈,这个论坛是不是你还有吹水佬等一些大佬创建的啊,每次基本上都是你们回答我的问题!谢谢啦!
“大佬”是高人啊,高人都是深藏或不露真容。
做大佬就无谓,只是喜欢在问题中找学问。
来 自:中国河南
等 级:新手上路
帖 子:98
回复 6楼 吹水佬
刚学习小半年&&&,&&&努力成为专家
来 自:长长久久
等 级:贵宾
威 望:13
帖 子:2940
专家分:8459
回复 4楼 天衣boy
以下是引用天衣boy在 08:59:49的发言:
我用这个就做出来了,顺便问一下哈,这个论坛是不是你还有吹水佬等一些大佬创建的啊,每次基本上都是你们回答我的问题!谢谢啦!
看我的注册时间就知道是不是我创建的了~我所知道所谓的大佬~不一定是回答问题最多的人,潜水的大佬多得很呐,看看历届版主名录就知道大佬有哪些了,好像一些前辈已经不在C混了,还有些高人几乎没有回几个贴,但实力是毋庸置疑的这个论坛真是卧虎潜龙呐~~
[code]/*由于最近没啥进展~我都不好意思往灌水贴灌水了~就是这样-----更~*/[/code]
版权所有,并保留所有权利。
Powered by , Processed in 0.051437 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved很简单嘛int strlen (char * s){
char * p =
while (*p++ != '\0') ;
return (p - s - 1) ;}这是C字符串哦
其他答案(共2个回答)
")4命令: (strlen "ab")2命令: (strlen "one" "two" "four")10命令: (strlen)0命令: (strlen "")0
不知道楼主是不是这么想的,定义一个字符型变量s,让它的A码为3,但在现实的时候现在它的十进制A码?如果是这样的话
#include &iostream&
void * operator new(size_t size)
// operator new还可能有其它参数
程序已经调试通过。
#include &stdio.h&
#include &string.h&
void main()
char str[10...
char ch[3][4]={"123","456","78"},
表示定义一个2维数组,3行4列,并对其进行付初值。
"123" ==&第一行,1...
答: 天地人和教育,知道他们的微信招生服务是什么吗?不是很懂?求知道
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区}

我要回帖

更多关于 什么是篇章语言学 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信