Skip to content
Snippets Groups Projects
Commit bf8b6fff authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Beispiele 19.1.2020, README.md

parent c6ea70f7
Branches
No related tags found
No related merge requests found
Showing with 409 additions and 0 deletions
#include <stdio.h>
int main (void)
{
int prime[5] = { 2, 3, 5, 7, 11 };
int *p = prime;
for (int i = 0; i < 5; i++)
printf ("%d\n", *(p + i));
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[];
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[] = { 2, 3, 5, 7, 11, 0 };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
prime[5] = 13; /* Dies funktioniert zwar im Moment, ist aber falsch! */
/* Wir schreiben über das Array hinaus. Dies kann zu einem */
for (int *p = prime; *p; p++) /* Absturz führen. */
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[] = { };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[] = { 0 };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[5] = { 2, 3, 5, 7, 11 };
int *p = prime;
for (int i = 0; i < 5; i++)
printf ("%d\n", p[i]);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[5] = { 2, 3, 5, 7, 11 };
int *p;
p = prime;
for (int i = 0; i < 5; i++)
printf ("%d\n", p[i]);
return 0;
}
.file "arrays-4.c"
.text
.section .rodata
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movl $2, -32(%rbp)
movl $3, -28(%rbp)
movl $5, -24(%rbp)
movl $7, -20(%rbp)
movl $11, -16(%rbp)
movl $0, -4(%rbp)
jmp .L2
.L3:
movl -4(%rbp), %eax
cltq
movl -32(%rbp,%rax,4), %eax
movl %eax, %esi
leaq .LC0(%rip), %rdi
movl $0, %eax
call printf@PLT
addl $1, -4(%rbp)
.L2:
cmpl $4, -4(%rbp)
jle .L3
movl $0, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (Debian 8.3.0-6) 8.3.0"
.section .note.GNU-stack,"",@progbits
.file "arrays-4.c"
.text
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
.LFB11:
.cfi_startproc
leal 4(%esp), %ecx
.cfi_def_cfa 1, 0
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
.cfi_escape 0x10,0x5,0x2,0x75,0
movl %esp, %ebp
pushl %edi
pushl %esi
pushl %ebx
pushl %ecx
.cfi_escape 0xf,0x3,0x75,0x70,0x6
.cfi_escape 0x10,0x7,0x2,0x75,0x7c
.cfi_escape 0x10,0x6,0x2,0x75,0x78
.cfi_escape 0x10,0x3,0x2,0x75,0x74
subl $56, %esp
call __x86.get_pc_thunk.bx
addl $_GLOBAL_OFFSET_TABLE_, %ebx
movl $2, -44(%ebp)
movl $3, -40(%ebp)
movl $5, -36(%ebp)
movl $7, -32(%ebp)
movl $11, -28(%ebp)
leal -44(%ebp), %esi
leal -24(%ebp), %eax
movl %eax, -60(%ebp)
leal .LC0@GOTOFF(%ebx), %edi
.L2:
subl $8, %esp
pushl (%esi)
pushl %edi
call printf@PLT
addl $4, %esi
addl $16, %esp
cmpl -60(%ebp), %esi
jne .L2
movl $0, %eax
leal -16(%ebp), %esp
popl %ecx
.cfi_restore 1
.cfi_def_cfa 1, 0
popl %ebx
.cfi_restore 3
popl %esi
.cfi_restore 6
popl %edi
.cfi_restore 7
popl %ebp
.cfi_restore 5
leal -4(%ecx), %esp
.cfi_def_cfa 4, 4
ret
.cfi_endproc
.LFE11:
.size main, .-main
.section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
.globl __x86.get_pc_thunk.bx
.hidden __x86.get_pc_thunk.bx
.type __x86.get_pc_thunk.bx, @function
__x86.get_pc_thunk.bx:
.LFB12:
.cfi_startproc
movl (%esp), %ebx
ret
.cfi_endproc
.LFE12:
.ident "GCC: (Debian 8.3.0-6) 8.3.0"
.section .note.GNU-stack,"",@progbits
#include <stdio.h>
int main (void)
{
int prime[5] = { 2, 3, 5, 7, 11 };
for (int i = 0; i < 5; i++)
printf ("%d\n", prime[i]);
return 0;
}
.file "arrays-4.c"
.text
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
.LFB11:
.cfi_startproc
pushq %r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
pushq %rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
pushq %rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
subq $32, %rsp
.cfi_def_cfa_offset 64
movl $2, (%rsp) # #include <stdio.h>
movl $3, 4(%rsp) #
movl $5, 8(%rsp) # int main (void)
movl $7, 12(%rsp) # {
movl $11, 16(%rsp) # int prime[5] = { 2, 3, 5, 7, 11 };
movq %rsp, %rbx # for (int i = 0; i < 5; i++)
leaq 20(%rbx), %r12 # printf ("%d\n", prime[i]);
leaq .LC0(%rip), %rbp # return 0;
.L2: # }
movl (%rbx), %esi
movq %rbp, %rdi
movl $0, %eax
call printf@PLT
addq $4, %rbx
cmpq %r12, %rbx
jne .L2
movl $0, %eax
addq $32, %rsp
.cfi_def_cfa_offset 32
popq %rbx
.cfi_def_cfa_offset 24
popq %rbp
.cfi_def_cfa_offset 16
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE11:
.size main, .-main
.ident "GCC: (Debian 8.3.0-6) 8.3.0"
.section .note.GNU-stack,"",@progbits
#include <stdio.h>
int main (void)
{
int prime[5] = { 2, 3, 5, 7, 11 };
for (int *p = prime; p < prime + 5; p++)
printf ("%d\n", *p);
return 0;
}
.file "arrays-5.c"
.text
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
.LFB11:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
pushq %rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
subq $40, %rsp
.cfi_def_cfa_offset 64
movl $2, (%rsp) # #include <stdio.h>
movl $3, 4(%rsp) #
movl $5, 8(%rsp) # int main (void)
movl $7, 12(%rsp) # {
movl $11, 16(%rsp) # int prime[5] = { 2, 3, 5, 7, 11 };
movq %rsp, %rbx # for (int *p = prime; p < prime + 5; p++)
leaq 20(%rsp), %rbp # printf ("%d\n", *p);
.L2: # return 0;
movl (%rbx), %esi # }
leaq .LC0(%rip), %rdi
movl $0, %eax
call printf@PLT
addq $4, %rbx
cmpq %rbp, %rbx
jne .L2
movl $0, %eax
addq $40, %rsp
.cfi_def_cfa_offset 24
popq %rbx
.cfi_def_cfa_offset 16
popq %rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE11:
.size main, .-main
.ident "GCC: (Debian 8.3.0-6) 8.3.0"
.section .note.GNU-stack,"",@progbits
#include <stdio.h>
int main (void)
{
int prime[6] = { 2, 3, 5, 7, 11, 0 };
for (int *p = prime; *p != 0; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[6] = { 2, 3, 5, 7, 11, 0 };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[] = { 2, 3, 5, 7, 11, 0 };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int prime[] = { 2, 3, 5, 7, 11, 0 };
for (int *p = prime; *p; p++)
printf ("%d\n", *p);
prime[5] = 13; /* Dies funktioniert zwar im Moment, ist aber falsch! */
prime[6] = 0; /* Wir schreiben über das Array hinaus. Dies kann zu einem */
for (int *p = prime; *p; p++) /* Absturz führen. */
printf ("%d\n", *p);
return 0;
}
#include <stdio.h>
int main (void)
{
int a = 0;
int b = 1;
printf ("%d\n", b);
for (int i = 0; i < 10; i++)
{
int c = a + b;
a = b;
b = c;
printf ("%d\n", b);
}
return 0;
}
#include <stdio.h>
/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */
int main (void)
{
int a = 0;
int b = 1;
while (1)
{
int c = a + b;
a = b;
b = c;
if (b > 10)
{
printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b);
/* Dieses printf() erfolgt von der Logik her nach der Schleife,
es steht aber im Quelltext _innerhalb_ der Schleife. */
break;
}
}
return 0;
}
#include <stdio.h>
/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */
int main (void)
{
int a = 0;
int b = 1;
while (b <= 10)
{
int c = a + b;
a = b;
b = c;
}
printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b); /* nach der Schleife */
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment