奇怪的输出?
以下这程序为什么每次输出时都会输出一些附加的信息:
例如:输入ab,cd回车时,他竟输出ab,cd后还会输出copyright (c) 1998 borland intl.
为什么会这样啊?
main()
{char s,c;
scanf("%s,%s",s,c);
printf("%s,%s",s,c);
}
----------------解决方案--------------------------------------------------------
呵呵!
你编写的程序显然是错了!
%s是控制字符串接受的格式说明符,而你定义的char s,c;是字符型变量。
只可以接受一个字符的,当然错了。
改为数组就好了。
同时使用%s 还有许多注意要点的,多看看书就明白了。
----------------解决方案--------------------------------------------------------
以下是引用yqiong在2007-7-20 0:48:49的发言:
第一,你试图用字符型变量接受字符串型值;以下这程序为什么每次输出时都会输出一些附加的信息:
例如:输入ab,cd回车时,他竟输出ab,cd后还会输出copyright (c) 1998 borland intl.
为什么会这样啊?
main()
{char s,c;
scanf("%s,%s",s,c);
printf("%s,%s",s,c);
}
第二,scanf函数中你用了逗号,如果输入字符串时两个字符之间不用逗号的话它是不能接受的;
第三,scanf函数中接受输入的参数应该是指针,所以除指针(或数组)外必用取地址运算符将变量地址取出作为参数。
我想下面这样写应该没问题了:
#include <stdio.h>
int main()
{char s[20],c[20];
scanf("%s%s",s,c);
printf("%s,%s",s,c);
return 0;
}
----------------解决方案--------------------------------------------------------
main()
{
char s,c;
scanf("%c,%c",&s,&c);
printf("%c,%c",s,c);
}
----------------解决方案--------------------------------------------------------
http://bbs.bc-cn.net/viewthread.php?tid=156855
----------------解决方案--------------------------------------------------------
多谢!
顺便问下在主函数中使用return 0;和return ;的作用是什么?
----------------解决方案--------------------------------------------------------
以下是引用yqiong在2007-7-20 23:22:26的发言:
多谢!
顺便问下在主函数中使用return 0;和return ;的作用是什么?
返回值
----------------解决方案--------------------------------------------------------
能详细点吗?
返回?返回哪呀?
0和1各返回什么?
----------------解决方案--------------------------------------------------------
以下是引用yqiong在2007-7-23 0:14:54的发言:
能详细点吗?
返回?返回哪呀?
0和1各返回什么?
在哪个函数里就是哪个函数的返回值呀
----------------解决方案--------------------------------------------------------