小编Ana*_*etz的帖子

将C程序转换为32位汇编代码

我坚持将C代码转换为汇编.这是我需要转换的代码:

#include <stdio.h>
define N 50 int x[N], y[N], z[2 * N];
void convolve(int[], int[], int[], int);

int main(void)
{
    int i, n;
    printf("Enter vector size (<=%d): ", N);
    scanf("%d", &n);
    printf("Enter first vector (%d elements):\n", n);
    for (i = 0; i < n; i++)
        **scanf("%d", &x[i]);
    **printf("Enter second vector (%d elements):\n", n);
    for (i = 0; i < n; i++)
        scanf("%d", &y[i]);
    convolve(x, y, z, n);
    printf("Convolution:\n");
    for (i = 0; i < ((n + n) - …
Run Code Online (Sandbox Code Playgroud)

c x86 assembly

8
推荐指数
1
解决办法
575
查看次数

虽然循环只发生一次

我的while循环只发生一次,而我需要多次检查以确保小时输入为24小时.我做错了什么?我知道可能是某些东西,但我一直在玩它,我仍然只有一次while循环.

#include <stdio.h>
#include <time.h>

int main(int argc, char *argv[])
{
    int h=0;
    int m=0;
    int d=0;
    int ht=0;
    int t=0;

    printf("Starting Hour: ");

    do
    {
        scanf("%d", &h);
    }
    while (h > 0 && h < 24);

    printf ("Invalid input. Please use 24hr format\n");
    printf ("Starting Hour: ");
    scanf("%d",&h);

    printf("Starting Minute: ");
    scanf("%d",&m);
    printf("Starting Time is %d:%d, what is the duration? ", h, m);
    scanf("%d",&d);
    t=(m+d);
    ht=t/60;
    h=(h+ht)%24;
    m=t%60;

    printf("Ending Time: %d:%d",h,m);
    printf("\n");

    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c while-loop do-while

-2
推荐指数
1
解决办法
163
查看次数

标签 统计

c ×2

assembly ×1

do-while ×1

while-loop ×1

x86 ×1