我的目标是打印一个整数数组的所有元素,而不管它的长度。我想以Python列表格式打印它,但随后我得到了这个错误。这是我的密码
int measure(int n[])
{
int num=0;
while (n[num]) { num++; }
return num;
}
void show(int n[])
{
int a = measure(n);
for (int i=0; i<a; i++) {
if (i==0) { printf("[%d,",n[i]); }
else if (i==a
在C语言中提到,“在赋值数组时,我们必须在编写程序时提交数组的大小”。但是在下面的代码中,我给出了执行时的大小,但它仍然在工作,那么哪个是正确的呢?
代码:
#include <stdio.h>
void main(){
{
int n,i;
printf("give the size of the array \n");
scanf("%d",&n);
int a[n];
printf ("give array elements\n");
for (i=0;i<n;
下面的代码..。
int array[] = {17, 18, 19};
printf("Location of array: %p\n", array);
printf(" Value of array: %d\n", *array);
printf(" Size of array: %d bytes\n", sizeof(array));
产生输出
Location of array: 0x7ffd0491c574
Value of array: 17
Size of array: 12 byt
#include<stdio.h>
main() {
int a=5;
int array[a]={0};
printf("Success\n");
}
当我执行程序时,它将通过一个错误作为
b.c: In function ‘main’:
b.c:8:1: error: variable-sized object may not be initialized
b.c:8:1: warning: excess elements in array initializer [enabled by default]
b.c:8:1: warning: (ne
据我所知,每个VLA都有一个大小的隐藏变量,它的值可以由sizeof操作符“获取”。我在这里没有得到的是指向函数参数中使用的VLA的指针--为什么它们的大小没有自动推导并存储在这个隐藏变量中--为什么我们应该显式地提供它。在这种情况下,我们为什么还要使用它,因为我们已经有了“指向未知大小数组的指针”类型。
我的意思是:
void func(size_t, int (*)[*]); //function accepting pointer to VLA
void func_1(size_t, int (*)[]); //function accepting pointer to array o
我正在尝试编写一个打印数组中的元素的函数。但是,当我处理传递的数组时,我不知道如何迭代数组。
void
print_array(int* b)
{
int sizeof_b = sizeof(b) / sizeof(b[0]);
int i;
for (i = 0; i < sizeof_b; i++)
{
printf("%d", b[i]);
}
}
迭代传递的数组的最好方法是什么?
#include<stdio.h>
int main(void){
const int size=5;
int grades[size]={34,23,67,89,68};
double sum=0.0;
double *ptr_to_sum=∑
int i;
printf("\n my grades are:\n");
for(i=0;i<size;i++){
printf("%d\t",grades[i]);}
printf(&
当数组作为参数传递时,编译器会生成指向数组第一个元素的指针,并将该指针传递给函数而不是整个数组,所以我的问题是,为什么在打印array[i]时可以打印数组的值
void FunctionApi(int array[])
{
int i;
for(i=0;i<8;i++)
{
printf("Value =%d\n",array[i]);
//I understand the reason behind the following two lines but not the above line.
我已经检查了代码并重写了几次,每次打印数组和平均值时都是0。我用代码块作为ide。
下面是statlib.c
// Calculates the mean of the array
double calculateMean(int totnum, double data[ ])
{
double sum = 0.0;
double average = 0.0;
int i;
// adds elements in the array one by one
for(i = 0; i < totnum; i++ )
sum += da
为了学习文件结构,我尝试读取一个.wav文件,并简单地打印有关它的信息。我有一个结构,它保存了定义为这样的所有信息:
typedef struct{
char chunkId[4];
unsigned int chunkSize;
char format[4];
char subchunk1Id[4];
unsigned int subchunk1Size;
unsigned short audioFormat;
unsigned short numChannels;
unsigned int sampleRate;
unsigned in
我知道用C定义数组是不可能的,但是仅仅声明它怎么样呢?
#include <stdio.h>
int main ()
{
int num = 5;
int array[num];
printf("%d\n",sizeof(array));
return 0;
}
上面的代码编译并打印20。这是不明确的行为吗?
编辑1:
如果我写
int array[num] = {0};
我去找error: variable-sized object may not be initialized。
编辑2:
#include <stdio.h>
我必须解决这个问题:“编写一个从键盘读取10个整数序列的程序,并以相反的顺序写入相同的序列,除以序列的偶数元素2。”
我想知道数组p的大小,以便以相反的顺序打印它,但是当我试图得到数组的大小时,"l = size of (P)/sizeof(P)“下面的for循环不起作用。
int main(){
int n,i;
int *p;
int l;
printf("How long the array? ");
scanf("%d",&n);
p = malloc(n*sizeof(int));
这是我的简单程序,生成N个整数数组,打印它,它将调用getevennumber函数,该函数将返回数组中偶数的指针地址。主程序将在数组中打印偶数:
#include <stdio.h>
int* getEvenNumber(int a[]);
int main (){
int N;
printf("Enter N: ");
scanf("%d", &N);
int array[N], i;
int *test[N];
sra
我正在编写一个程序,其中包含一个由用户填充的数组,并在其中找到一个由用户指定的值,然后打印如果在array.But中找到并计数了这个数字,它只对array.My代码的以下第一个元素起作用:
`void searchh(int arr[],int search,int number,int counter);
int main()
{
int number,search,i;
int counter=0;
printf("How many numbers will you enter?");
scanf("%d",&number);
i
我很好奇,为什么我的29码数组中的最后一个元素是27,而不是28?当我试图打印出第28位的物体时,为什么会有一个空白?s应该是第28位的最后一个对象吗?
#include <stdio.h>
int main(void) {
char strArray[] = { "Jonsnow from Game of Thrones" };
int lastElem = sizeof(strArray);
printf("%s\n", strArray);
printf("Size of array is: %d\n
我正在尝试做一个程序,将每个单词的长度存储在一个数组中并打印出来。但是长度n不是打印出来的,而是打印长度n - 1的。
#include <stdio.h>
#define IN 1
#define OUT 0
#define MAXLENGTH 10
int main(void)
{
int i, c, state, word;
int array[MAXLENGTH];
state = OUT;
word = 0;
for (i = 0; i < MAXLENGTH; i++)
array[i] = 0;
为什么要用sizeof(arr1)除法来计算数组的长度?它可以简单地计算出来,而不需要用sizeof(arr1)除以。如果有人知道原因,请解释一下。
#include <stdio.h>
int main()
{
//Initialize array
int arr1[] = {1, 2, 3, 4, 5};
//Calculate length of array arr1
int length = sizeof(arr1)/sizeof(arr1[0]);
//Create another arra
当在指定的position.Please插入第二个数组后,将结果数组移至右转时会出现问题,请注意不需要旋转、循环或反向操作。
#include <stdio.h>
void main() {
int i, n, m, location, b[20], a[20];
printf("Enter the number of elements in first array:\n");
scanf("%d", &m);
printf("Enter the elements of first array : \
import java.util.Scanner;
import java.io.*;
public class practice3
{
public static void main(String[] args) throws IOException
{
int[] array = new int [99];
array = inputData();
for(int i=0; i<array.length; i++)
System.out.printf("%d",array[i]);
}
public static i