1楼:匿名用户
你这样当然不对了。那接收是有条件的,当ri=1,才是接收到 一个字节的数据,你也没有判断ri=1,就接收了,k=sbuf;这是什么数据?不是接收的。
问一句:这几行程序是串行中断程序吗?如果是,那可以。但只能接收一个。
如果这个程序是写在主程序中的,就要加一行
while(!ri); //判断已接收到数据。
你改成接收两个的程序,这也是 中断程序才对,否则也在前面加一行while(!ri); //判断已接收到第一个数据。
k=sbuf;
ri=0;
sbuf=k;
while(!it);
ti=0;
while(!ri); //判断已接收到第二个数据j=sbuf;
ri=0;
sbuf=j;
while(!ti);
ti=0;
2楼:
做两次阿,每次的sbuf是一个数据
关于指针变量输入输出的问题求大神解答???
3楼:匿名用户
scanf()与printf()实际是两个库函数,它们在头文件里已经被写好了!scanf()需要两参数,一个为字符型的表示输入格式,另一个为指针或地址,它应该指向你所要存储变量的地址!而printf()需要一个字符型参数,表输出的数据和格式,后面要跟上输出列表,后面的列表应该为具体的变量值,而不是指针或地址!
*p值指的是p所指的具体变量!而p是指指针,也就是p所指的变量的地址!所以他们不能乱用,现在应该明白了吧!
就像一个max(int a,int b)函数 他需要两个int 参数如果你给她别的数据,那肯定就是错误的了!