关于C语言的问题为什么输出和输入的不一样?

#include<stdio.h>
int main()
{ int a,b;
char h='x';
scanf("%d*%c%d",&a,&h,&b);
printf("%d*%c^%d",&a,&h,&b);
}

第5行%c与%d之间少了^

第6行&a,&h,&b前面的&全部去掉。

修改后的程序:

#include<stdio.h>
int main()
{ int a,b;
char h='x';
scanf("%d*%c^%d",&a,&h,&b);//补上^
printf("%d*%c^%d",a,h,b);//a、h、b前面的&全部去掉
}

//运行示例:

温馨提示:内容为网友见解,仅供参考
无其他回答

关于C语言的问题为什么输出和输入的不一样?
第5行%c与%d之间少了^ 第6行&a,&h,&b前面的&全部去掉。修改后的程序:include<stdio.h>int main(){ int a,b;char h='x';scanf("%d*%c^%d",&a,&h,&b);\/\/补上^printf("%d*%c^%d",a,h,b);\/\/a、h、b前面的&全部去掉}\/\/运行示例:

C语言为什么输入的值和输出的值不一样?
你在scanf的两个%d之间加了逗号,那么输入时就要用逗号隔开两个数。输入写成7,4输出就正常了。若两个%d之间不加任何东西或只加空格,则输入时可以用空格或回车或制表符隔开,就不能用逗号之类的符号了。(若帮助了你,请采纳)

如图,C语言输出的原数组显示为什么与输入的值不同啊?
你要输出的是数组元素,不是元素的地址

c语言超低级问题为啥输出的字符跟输入的不一样
在输入时按照a,b的格式来输入就 可以了

c语言数组的输入和输出不一样啊,显示没有错误
一样啊,除了你自己打错的一些地方,程序本身应该没什么毛病,只不过是你的输出没有加分隔符,所以三个整数连在一起输出了

c语言的编译器,打开同一个程序,一样的输入,为什么有时输出是对的,有...
说明你的代码中存在不稳定因素。比如没有赋初始值的局部变量。 越界访问行为等等。这些都是会导致不可预知结果的。具体的 还需要看代码才能知道原因。

c语言 输入浮点型数据 和输出的有一点差别 为什么
哪是因为 printf 输出的时候 你打的是%f 的方式 也就是 以小数输出 但是%f 隐含了 输出6位小数 所以你输入的一大串 在6位小数后都被程序截取了

c语言循环队列有点小问题,为什么这个输出的结果总比输入的少一个,,求...
printf("请输入要创建多少个元素\\n");scanf("%d",&n);getchar(); \/\/加一条语句,吃掉换行符就ok了

...输入一个数字->按回车,然后用printf输出这个数字,为什么输入跟...
那个换行是你自己发出的,你输入4以后是不是要回车程序才会继续呢。如果不想他换行就别用scanf,用getchar

这段C语言那里错了,读入的数据打印出来不一样
for (i=0;i<N;i++) { \/\/屏幕输入数据后,按回车键,会产生回车符'\\n', \/\/而函数scanf("%c",&p[i].color)会意外地吸收了回车符, \/\/导致p[i].color的数值是回车符,所以最后输出的数据是错误的. \/\/修改方案: getchar(); \/\/增加这个语句,用于吸收回车符 scanf(...

相似回答