十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
for ( i=0;string[i]!='\0';i++); //分号去掉
创新互联的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括做网站、网站建设、电商网站开发、微信营销、系统平台开发。
for ( i=0;string[i]!='\0';i++); // 分号去掉
'\0' 不好判断。scanf 读不进 '\n' ,遇到 '\n' 要你再输入东西。
改用 getchar() 较好。
#include stdio.h
#includestdlib.h
main(){ char s[100];
int i;
printf("enter a string:");
i=0;
while(1){
s[i]=getchar();
if (s[i]=='\n')break;
i++;
}
s[i] ='\0';
printf("%s",s);
}
函数ast 参数
*cp为前两个参数和
*cd为前两个参数差。
于是调用
ast(a,b,c,d)后
c=a+b=7
d=a-b=1
输出为
7 1
输出为:71.
c,d表示把变量c和d的地址传给了函数ast()。
在函数体内,由于cp和dp分别指向c和d,所以*cp相当于c,*dp相当于d,从而输出为71.
C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
参考资料来源:百度百科-函数
其实你看不懂这里的原因是由于你对指针学习的不是很好。上面的那个方法后面两个参数是指针,所以你给它传值的时候要传递一个地址。
运算符的意思就是去c和d的地址给方法。到了方法后*的意思就是去该地址中的值,等于说把你传递过来的两个地址里面的值改成了别的,比如说c地址里面原来假设是个0,现在把这个地址里的值改为a+b。当推出这个方法后,c还是指向原来的内存地址,但是地址里面的内容已经通过方法给改变了。所以输出的是27. 以后出题的时候给点分吧。很累的。