【发布时间】:2022-06-10 19:46:33
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int valueEntered ,x;
scanf("enter the value:%d",&valueEntered);
x = valueEntered;
printf("the value entered is:%d\n", x);
return 0;
}
【问题讨论】:
-
请编辑您的问题以包括输入、预期输出和您看到的当前输出。你也没有问任何问题(标题不是问题)
-
printf("输入值:"); scanf("%d",&valueEntered);
-
而且它没有打印“内存位置”。它只是打印了一些垃圾值,因为
valueEntered没有初始化,scanf也失败了,正如上面第二条评论中所暗示的那样。 -
在尝试使用
scanf操作的结果之前,您应该始终检查scanf的返回值,以验证它是否成功。有关详细信息,请参阅本指南:A beginners' guide away from scanf() -
scanf操作将失败,除非用户自己输入"enter the value:"后跟一个数字。但是,您可能不希望用户必须输入该字符串,而是希望您的程序打印该字符串。因此,您应该改写printf( "Enter a value: " ); scanf( "%d", &valueEntered );。
标签: c printf scanf format-string