我正在编写这个简单的代码,如果我输入两个数字并显示解决方案。这是代码:
#include <stdio.h>
int main()
{
printf("Enter two numbers:")
;scanf("&d &d", a, b)
;printf("=======================\n"); /* */
/* */
printf("The sum of %d and %d is %d.\n\n", 3, 4, 3 + 4)
/* */
;printf("The difference of %d and %d is %d. \n\n", 3, 4, 3-4)
/* */
;printf("The product of %d and %d is %d. \n\n", 3, 4, 3*4)
/* sum of squares would be a*a + b*b */
;printf("The sum of the squares of %d and %d is %d. \n\n", 3, 4, 3*3 + 4*4)
;printf("**end**"); /* :-) */
;return (0);
}
我不断收到错误消息:
[Error] 'a' was not declared in this scope
and
[Error] 'b' was not declared in this scope
它出了什么问题?
答案 0 :(得分:1)
首先声明两个变量是否缺失。 首先声明它们,在你的情况下int最好,所以:
int a, b;
然后你还需要将指针传递给scanf()函数,因此它可以在变量中写入值,如下所示:
scanf("%d %d", &a, &b);
检查这些值是否已被读取也是一种很好的做法。 scanf()返回它从输入中成功解析的值的数量,因此在你的情况下,如果成功则返回2,测试它。
同样初始化变量并不是一个坏主意,所以也许可以这样做:
int a = 0, b = 0;
你也似乎没有在你的程序的其余部分使用变量,你可能想要对此做些什么。
答案 1 :(得分:0)
在尝试在其中存储任何内容之前,您需要声明变量。
int a,b;
该行必须是主函数的第一行。
编辑:确定您的代码看起来像这样吗?
int main()
{
int a,b;
printf("Enter two numbers:")
;scanf("&d &d", a, b)
;printf("=======================\n"); /* */
/* */
printf("The sum of %d and %d is %d.\n\n", 3, 4, 3 + 4)
/* */
;printf("The difference of %d and %d is %d. \n\n", 3, 4, 3-4)
/* */
;printf("The product of %d and %d is %d. \n\n", 3, 4, 3*4)
/* sum of squares would be a*a + b*b */
;printf("The sum of the squares of %d and %d is %d. \n\n", 3, 4, 3*3 + 4*4)
;printf("**end**"); /* :-) */
;return (0);
}
答案 2 :(得分:0)
1.使用前必须申报变量。 您正在使用下面的a和b。但你以前没有宣布它。所以它肯定会给你错误。
- (IBAction)takephoto:(id)sender {
AVCaptureConnection *videoConnection = nil;
for (AVCaptureConnection *connection in StillImageOutput.connections) {
for (AVCaptureInputPort *port in [connection inputPorts ]) {
if ([[port mediaType] isEqual:AVMediaTypeVideo]) {
videoConnection = connection;
break;
}
}
}
[StillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if (imageDataSampleBuffer != NULL) {
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *image = [UIImage imageWithData:imageData];
imageView.image = image;
}
}];
}
2.它也必须使用&#39;&amp;&#39;使用a和b同时从用户获取价值。它不会给你错误,但可能会给你不正确的结果,你不想要。
scanf("&d &d", a, b);
3.Indentation也不好。你需要使用&#39 ;;&#39;在声明的最后,而不是在陈述下一个声明或任何其他编码行之前。它不会给你错误,但它易于理解代码和易于阅读。
scanf("&d &d", &a, &b);