输入输出函数
成都创新互联公司是一家集网站建设,曲靖企业网站建设,曲靖品牌网站建设,网站定制,曲靖网站建设报价,网络营销,网络优化,曲靖网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
非格式化输入输出函数可以由上面讲述的标准格式化输入输出函数代替,
但
这些函数编译后代码少,
相对占用内存也小,
从而提高了速度,
同时使用也比较
方便。下面分别进行介绍。
一、puts()和gets()函数
1.
puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行,
其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf(”%s\n”,
s)相同。
例3:
main()
{
char
s[20],
*f;
strcpy(s,
“Hello!
Turbo
C2.0″);
f=“Thank
you”;
puts(s);
puts(f);
}
说明:
(1).
puts()函数只能输出字符串,
不能输出数值或进行格式变换。
(2).
可以将字符串直接写入puts()函数中。如:
puts(“Hello,
Turbo
C2.0”);
2.
gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,
但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf(“%s”,
s)相似,
但不完全相同,
使用scanf(“%s”,
s)
函数输入字符串时存在一个问题,
就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理,
但gets()
函数将接收输入的整个字符
串直到回车为止。
例4
main()
{
char
s[20],
*f;
printf(“What’s
your
name?\n”);
gets(s);
puts(s);
puts(“How
old
are
you?”);
gets(f);
puts(f);
}
首先指出你写的一处错误,fun函数没有返回值。你要么定义为void,既然定义成int,就要返回数据。
代码可能需要优化下....
输入定义成字符串,不必用char数组,然后如果用while就用while,用for就用for,干嘛都一起用,大致可以这么写(自己定义下变量,另外没必要把变量定义到和main fun一个级别,这样不利于释放空间,就用局部变量,然后fun可以用传参的方式)
int i=0;
scanf('%s',str)
while(str[i]!=条件){
switch()或者if 判断符合哪种统计方式
i++;
}
你这个问题提的很模糊,你要问的是:
函数int prime(int sum),当sum不是素数时,如何不返回值。
回答是:函数定义有void以外的返回值类型,必须有返回值。所以你这个代码错的。(实际情况像你这种返回int漏写return,不同编译器处理会有所不同,有直接报错,有的警告可运行返回0,所以强调要有返回值)。
正常思路,指定返回值类型的函数是根据不同情况返回不同值,最后在主函数中接收返回值做判断。
比如,你在这个函数最后再写一个return -1;
然后在main函数打印输出那里加一个判断返回值不等于-1。