求助贴:C语言怎样实现搜狗输入法回车键发送回车开始运行程序

codepad is an online compiler/interpreter,
and a simple collaboration tool.
Paste your code below, and
codepad will run it and give you a short URL you can use to share
it in chat or email.
Plain Text
codepad was created by Steven Hazel, one of the founders of2863人阅读
C/C++(37)
& & & & 找工作在即,以后决定每天至少写一个知识点,主要是记录,逼迫自己动手、总结加深印象。当然如果能有一言半语让他人收益,后学幸运之至也。如有错误,还希望大家帮忙指出来。感激不尽。
& & & &后学保证每个写出来的结果都是自己在电脑上亲自跑过的,咱人笨,以前学的也半吊子。很多时候只能靠运行出来的结果再反过来总结,再结合书上讲的,才能融为自己的。环境为:Fedora14 &GCC / g++编译器 32位
& & &第一课,就来搞sizeof和strlen吧。
sizeof是一个单目操作符,而不是函数。作用是计算其操作数的存储空间。操作数可以是一个表达式或者一个类型。如sizeof(int)。而strlen是一个函数,只能用char *做参数,且必须是以'\0'结尾的,计算有效字符串的字符数。
#include &stdio.h&
void main()
& &char str[]=&yanguoqi&;
& &char *p =
& &printf(&sizeof(str) = %d\n&, sizeof(str));
& &printf(&strlen(str) = %d\n&, strlen(str));
& &printf(&sizeof(p) = %d\n&, sizeof(p));
& & printf(&strlen(p) = %d\n&, strlen(p));
[root@localhost learn]# gcc test.c -o out
test.c: 在函数‘main’中:
test.c:7:33: 警告:隐式声明与内建函数‘strlen’不兼容
运行结果:
[root@localhost learn]# ./out&
sizeof(str) = 9: sizeof是返回的保证能容纳实现所建立的最大对象的字节大小。在32位pc下,一个字符占一个字节,
一共8个字符,加最后的'/o'.共9个字节。&
strlen(str) = 8: &这是有效字符的个数,不把'/0'算在内。
sizeof(p) = 4: & 这里p是一个指针型变量,在32位PC下占4个字节。一般指针都占4个字节。
strlen(p) = 8: & 同上。
再试下能想到的其他情况,
char *p = “yanguoqi”
sizeof(p)=4
strlen(p)=8,
char str[100] = &yanguoqi&,strlen(str)=8,sizeof的结果应该是100.
int p[100], sizeof(p) = 100*4,strlen会报错。
最后来看个迷惑性强的,
void fun(char str[100])
& & &sizeof(str)=???
& & &这里还是等于4,str是函数的参数,sizeof运算的时候将其当成了指针。而指针占4个字节。对于何种类型的指针,sizeof出来的大小都是固定的,32位pc下总是4.
& & &最后再如,char *p = &helloevery&,在计算这种指针指向的字符串长度的时候,只能用strlen结果为10.
& & & 一定要区分数组元素的个数,字符串长度两个概念的区别,后者不带'\0'.
下面是个小例子,加深下印象。函数void upgrade(str[]),将str中小写字母改成大写字母。
#include &iostream&
#include &string.h&
void upgrade(char str[])
& &for(int i=0; i&strlen(str); i++) & &
& & & if('a'&=str[i]&&str[i]&='z')
& & & //str[i] = str[i] + ('A' - 'a');
& & & &str[i]+='A' - 'a';
int main()
& & char str[] = &HellEveryOne&;
& & cout&&str&&
& & upgrade(str);
& & cout&&str&&
& & return 0;
linux下,c++程序后缀名可以不改为.cpp,用.c, &但一定要用g++来编译,而且要想用strlen必须加#include &string.h&.
[root@localhost learn]# g++ test.cpp -o out
[root@localhost learn]# ./out&
HellEveryOne
HELLEVERYONE
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3893845次
积分:32973
积分:32973
排名:第111名
原创:363篇
转载:12篇
评论:2776条
文章:23篇
阅读:450812
(3)(5)(5)(5)(8)(4)(3)(4)(7)(10)(4)(2)(3)(1)(3)(7)(2)(1)(1)(4)(1)(3)(17)(14)(7)(8)(7)(6)(3)(7)(7)(3)(3)(7)(5)(6)(11)(24)(6)(11)(10)(13)(11)(34)(39)(2)(23)(6)本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 shell 输入回车 的文章

 

随机推荐